/**
 * PornstarNetwork Html Template Global javascript functions
 *
 * @package PornstarNetwork  
 */
bodyLoaderManager = function(){
	
		this.functions = new Array();
	
		this.addFunction = function(functionString){
			this.functions.push(functionString);			
		}		
	
		this.start = function(){
			total = this.functions.length;
			for(i=0;i<total;i++){
				eval(this.functions[i]);
			}
		}
		
		return(this);
	
	}
	
typeValidator = function(){

	try{
		this.RegExpEmail = new RegExp ("^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$", "gi" );
		this.RegExpNickName = new RegExp ("^[a-z0-9 \_ \\- \\. \$ \@ \\[ \\] ]{4,40}$", "gi" );
		this.RegExpAccessKey = new RegExp ("^[a-z]{5,5}$", "gi" );
		this.RegExpPornStarName = new RegExp ("^[a-z0-9\' \\. \- \+ \"]{2,40}$", "gi" );
	}catch(e){
		this.RegExpEmail = false;
		this.RegExpNickName = false;
		this.RegExpAccessKey = false;
		this.RegExpPornStarName = false;
	}

	this.isEmail = function(string){

		if(typeof(string)!='string')
			return false;
			
		if(this.RegExpEmail)
			return this.regExpMatch(string, this.RegExpEmail);

		if ((email.indexOf('@',0)==-1) || (email.indexOf('.',0)==-1))
			return false;
			
		return true;
		
	}
	
	this.isNickName = function(string){
	
		if(typeof(string)!='string')
			return false;
			
		if(this.RegExpNickName)
			return this.regExpMatch(string, this.RegExpNickName);	
			
		if(string.length < 4 || string.length > 40)
			return false;
		
		return true;
	
	}
	
	this.isPornStarName = function(string){
	
		if(typeof(string)!='string')
			return false;
			
		if(this.RegExpPornStarName)
			return this.regExpMatch(string, this.RegExpPornStarName);	
			
		if(string.length < 2 || string.length > 40)
			return false;
		
		return true;
	
	}			
	
	this.isAccessKey = function(string){
	
		if(typeof(string)!='string')
			return false;
			
		if(this.RegExpAccessKey)
			return this.regExpMatch(string, this.RegExpAccessKey);	
			
		if(string.length != 5)
			return false;
		
		return true;
	
	}			
	
	this.isID = function(string){
		
	}

	this.regExpMatch = function(string, regExp){		
	
		if (string.search( regExp ) == -1)
			return false;
		else
			return true;
	
	}			

}

function setOpacity(obj,opacity){

	opacity	= (opacity == 100) ? 99.999:opacity;
	obj.style.filter		= "alpha(opacity:" + opacity + ")";
	obj.style.KHTMLOpacity	= opacity / 100;
	obj.style.MozOpacity	= opacity / 100;
	obj.style.opacity		= opacity / 100;
	
}

function logout(){
	
	return throwBox(logOutMessage, 'document.location = \'/Login/logout\';');	
	
}

function throwBox(message, trueAction, falseAction){

	bodyVar = document.getElementsByTagName('body').item(0);
	setOpacity(bodyVar, 30);

	if(trueAction){
	
		if(confirm(message))
			eval(trueAction);
		else if(falseAction)
			eval(falseAction);
		
	}else{
	
		alert(message);
					
	}
		
	setOpacity(bodyVar, 100);
	
	return;		
		
}

function multiCheckboxesSelection(obj, targetObj, action){

	checked = obj.checked;				
	total = targetObj.length;
	
	for(i=0;i<total;i++){
	
		if(checked == true){
			targetObj[i].checked = false;
		}else if(checked == false){
			targetObj[i].checked = true;
		}
			
		if(action){ eval(action); } 
	
	}

}		

function focusTextField(Obj){

	if(typeof(Obj) != 'object')
		return;
		
	Obj.focus();				
	Obj.value = Obj.value;
	
}

function initialiseActorFavoriteControl(actID){
	
	document.actorFavoriteControl = this;
	var favSpan = document.getElementById('actorFavoritesControl');
				
	if(favSpan){
		
		try { var XMLHttpObject = new XMLHttpRequest(); } catch(e) {
		try { var XMLHttpObject = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {	
		try { var XMLHttpObject = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {
					var XMLHttpObject = false;
				} 
			} 
		}
		
		this.iconWaitUrl = 'http://members.pornstarnetwork.com/media/images/actorFavoritesControlWait.gif';
		
		this.writeIn = function(html){
			favSpan.innerHTML = html;
		}
		
		this.attachFunction = function(functionName){
			favSpan.onMouseDown = functionName;
		}				
			
		if(XMLHttpObject){
			
			this.isIn = function(){
				XMLHttpObject.open("GET", 'http://members.pornstarnetwork.com/Gateway/isInFavorites/actor/' + actID, true);

				XMLHttpObject.onreadystatechange = function(){ 
		
					if (XMLHttpObject.readyState==4) {			
						if(XMLHttpObject.responseText == 'result=false'){
							document.actorFavoriteControl.attachFunction('this.addIt');
							document.actorFavoriteControl.writeIn('<a href="javascript:document.actorFavoriteControl.addIt();">Add to favorites</a>');
						}else if(XMLHttpObject.responseText == 'result=true'){
							document.actorFavoriteControl.attachFunction('this.deleteIt');
							document.actorFavoriteControl.writeIn('<a href="javascript:document.actorFavoriteControl.deleteIt();">Remove from favorites</a>');	
						}
						
					}
					
				}
				
				XMLHttpObject.send(actID.toString());
			}
			
			this.addIt = function(){

				XMLHttpObject.open("GET", 'http://members.pornstarnetwork.com/Gateway/addToFavorites/actor/' + actID, true);

				XMLHttpObject.onreadystatechange = function(){ 
		
					if (XMLHttpObject.readyState==4) {			
						
						if(XMLHttpObject.responseText == 'result=failed'){
							document.actorFavoriteControl.attachFunction('this.addIt');
							document.actorFavoriteControl.writeIn('<a href="javascript:document.actorFavoriteControl.addIt();">Add to favorites</a>');
						}else if(XMLHttpObject.responseText == 'result=success'){
							document.actorFavoriteControl.attachFunction('this.deleteIt');
							document.actorFavoriteControl.writeIn('<a href="javascript:document.actorFavoriteControl.deleteIt();">Remove from favorites</a>');	
						}
						
					}
				}
				document.actorFavoriteControl.writeIn('Please wait...');
				XMLHttpObject.send(actID.toString());
			
			}
			
			this.deleteIt = function(){

				XMLHttpObject.open("GET", 'http://members.pornstarnetwork.com/Gateway/deleteFromFavorites/actor/' + actID, true);

				XMLHttpObject.onreadystatechange = function(){ 
		
					if (XMLHttpObject.readyState==4) {			
						
						if(XMLHttpObject.responseText == 'result=success'){
							document.actorFavoriteControl.attachFunction('this.addIt');
							document.actorFavoriteControl.writeIn('<a href="javascript:document.actorFavoriteControl.addIt();">Add to favorites</a>');
						}else if(XMLHttpObject.responseText == 'result=failed'){
							document.actorFavoriteControl.attachFunction('this.deleteIt');
							document.actorFavoriteControl.writeIn('<a href="javascript:document.actorFavoriteControl.deleteIt();">Remove from favorites</a>');	
						}
						
					}
					
				}
				
				document.actorFavoriteControl.writeIn('Please wait...');
				XMLHttpObject.send(actID.toString());
			
			}
			
			this.isIn();
		
		}
		
	}

}

function flashIsInstalled(){

	try{

		if (navigator.plugins && navigator.plugins.length){

			for(att in navigator.plugins){
				
				if(navigator.plugins[att].name == 'Shockwave Flash')
					return true;

			}

		}else if (navigator.mimeTypes && navigator.mimeTypes.length){

			if(navigator.mimeTypes['application/x-shockwave-flash'])
				return true;

		}else{
		
			if(new ActiveXObject("ShockwaveFlash.ShockwaveFlash"))
				return true;

			for(i=1;i<10;i++){
			
				if(new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i))
					return true;
			
			}

		}

		return false;

	}catch(e){

		return false;

	}

}