/**
 * developerd by yaser zeinali <yaser.zeinali@gmail.com>
 * URL: http://www.neopersia.org
 * var np = neopersia framework!
 */
function NeoPersia_init(){
	np.marquees.init();
	project.setActiveTab.init();
}
/*---------------------------------------------------------------------------------------------------------------------------*/
function elem(id){
	return document.getElementById(id);
}
function validateEmail(email){
	var patt=new RegExp(/^[a-z0-9\._-]+@[a-z0-9\._-]+\.+[a-z]{2,4}$/);
	return patt.test(email);
}
function trim(s){
	return (s?''+s:'').replace(/^\s*|\s*$/g,'');
}
/*---------------------------------------------------------------------------------------------------------------------------*/
var np={};
np.browser=new function(){
	new RegExp(/(MSIE|Firefox|Opera|Safari)\/?[ ]?([0-9\.]+)/i).exec(navigator.userAgent);
	this.name=RegExp.$1;
	this.version=RegExp.$2;
}
np.forms={
	toggleCheckboxes:function(obj,frm){
		var oForm;
		switch(typeof(frm)){
			case 'undefined': oForm=obj.form; break;
			case 'string': oForm=elem(frm); break;
			case 'object': oForm=frm; break;
		}
		var bChecked=(obj.checked)?true:false;
		var aInputs=oForm.getElementsByTagName('input');
		for(var i=0; i<aInputs.length; i++){
			if(aInputs[i].type=='checkbox')aInputs[i].checked=bChecked;
		}
	},
	/**
	 * clears the input value if filled with default value on focus and insert default value if input is empty on blur
	 * @param obj object, target input object
	 * @param defaultValue string, default value to be applied
	 */
	toggleDefaultValue:function(obj,defaultValue){
		if(defaultValue)obj.defaultValue=defaultValue;
		obj.onfocus=function(){
			if(this.value==this.defaultValue)this.value="";
		}
		obj.onblur=function(){
			if(this.value=="")this.value=this.defaultValue;
		}
		obj.onfocus();
	}
}
np.forms.convert={
	toTextBox:function(oldObj){
		if(typeof(oldObj)!='object'||oldObj.type=='text')return;
		var newObj=document.createElement('input');
		newObj.type='text';
		var properties=['className','id','value','name'];
		for(x in properties){
			newObj[properties[x]]=oldObj[properties[x]];
		}
		oldObj.parentNode.insertBefore(newObj, oldObj);
		newObj.focus();
		oldObj.parentNode.removeChild(oldObj);
	}
}
np.marquees={
	init:function(){
		var aElems=document.getElementsByTagName('marquee');
		for(var i=0;i<aElems.length;i++){
			if(aElems[i].getAttribute('autostop')=='true'){
				this.setAutoStop(aElems[i]);
			}
		}
	},
	setAutoStop:function(obj){
		obj.onmouseover=function(){
			this.stop()
		}
		obj.onmouseout=function(){
			this.start()
		}
	},
	scroller:{
		top:function($elem){
			$elem.stop();
			$elem.behavior='scroll';
			$elem.direction='up';
			$elem.start();
		},
		down:function($elem){
			$elem.stop();
			$elem.behavior='scroll';
			$elem.direction='down';
			$elem.start();
		},
		stop:function($elem){
			$elem.stop();
		}
	}
}
/*---------------------------------------------------------------------------------------------------------------------------*/
project={
	setActiveTab:{
		init:function(){
			var aLinks=elem('pageTabs').getElementsByTagName('a');
			for(var i=0;i<aLinks.length;i++){
				aLinks.className="";
			}
			switch(this.getPage){
				case'work-with-us':elem('eWorkWithUs').className='active';break;
				case'contact-us':elem('eContact').className='active';break;
				case'site-pages':
					switch(this.getName){
						case'site-terms':elem('eSiteTerms').className='active';break;
						case'about-us':elem('eAbout').className='active';break;
						case'how-to-buy':elem('eHowToBuy').className='active';break;
					}
					break;
				default:
					var host='http://'+location.hostname+'/';
					if(location==host||location==host+'index.php')elem('eHome').className='active';
					break;
			}
		},
		getPage:function(){
			new RegExp(/page=([a-z0-9\-]+)/i).exec(document.URL);
			return RegExp.$1;
		}(),
		getName:function(){
			new RegExp(/name=([a-z0-9\-]+)/i).exec(document.URL);
			return RegExp.$1;
		}()
	},
	addRaw2PartnetLinks:function(oTable,iRowIndex){
		var iRow=(iRowIndex||oTable.rows.length);
		if(iRow<0)iRow=oTable.rows.length+iRow;
		var oRow=oTable.insertRow(iRow);
		oRow.insertCell(0).innerHTML='<input type="text" name="title[]" class="w1" />';
		oRow.insertCell(1).innerHTML='<input type="text" name="url[]" class="w1 ltr" />';
		oRow.insertCell(2).innerHTML='<input type="text" name="priority[]" class="w1 center" />';
	}
}

