// Javascript functions for Logo Girlz site
// Created by Beyond Paper http://www.beyond-paper.com
// JavaScript Document



/*Cookie Handler*/

function bpCreateCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}


function bpReadCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}


function bpEraseCookie(name) {
	bpCreateCookie(name,"",-1);
}


/*XMLHTTP*/

function bpGetXmlHttpRequest()
{ 
  var XMLHttpObj; 

  if (window.XMLHttpRequest) {
    XMLHttpObj = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    XMLHttpObj = new 
     ActiveXObject("Microsoft.XMLHTTP");
  }

return XMLHttpObj;
}


function readTextWithGet(urlToCall, functionToCallBack)
{ 
  var XMLHttpRequestObject = false; 

  if (window.XMLHttpRequest) {
    XMLHttpRequestObject = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    XMLHttpRequestObject = new 
     ActiveXObject("Microsoft.XMLHTTP");
  }

  if(XMLHttpRequestObject) {
    XMLHttpRequestObject.open("GET", urlToCall); 

    XMLHttpRequestObject.onreadystatechange = function() 
    { 
      if (XMLHttpRequestObject.readyState == 4 && 
        XMLHttpRequestObject.status == 200) { 
          functionToCallBack(XMLHttpRequestObject.responseText); 
          delete XMLHttpRequestObject;
          XMLHttpRequestObject = null;
      } 
    } 

    XMLHttpRequestObject.send(null); 
  }
}


function readTextWithPost(urlToCall, dataToSend, functionToCallBack)
{ 
  var XMLHttpRequestObject = false; 

  if (window.XMLHttpRequest) {
    XMLHttpRequestObject = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    XMLHttpRequestObject = new 
     ActiveXObject("Microsoft.XMLHTTP");
  }

  if(XMLHttpRequestObject) {
    XMLHttpRequestObject.open("POST", urlToCall); 
    XMLHttpRequestObject.setRequestHeader('Content-Type', 
      'application/x-www-form-urlencoded'); 

    XMLHttpRequestObject.onreadystatechange = function() 
    { 
      if (XMLHttpRequestObject.readyState == 4 && 
        XMLHttpRequestObject.status == 200) {
          functionToCallBack(XMLHttpRequestObject.responseText); 
          delete XMLHttpRequestObject;
          XMLHttpRequestObject = null;
      } 
    }

    XMLHttpRequestObject.send(dataToSend); 
  }
}



/* EVENT HANDLER */

function bpBindEventListener(obj, method){
	return function(event){method.call(obj, event || window.event)};	
}

function bpManageEvent(obj,evt,fn) {
	/*example:  bpManageEvent(document.getElementById('element'),"click",clickHandler) */
	/*This example takes the object "document.getElementById('element') and sends it to the function clickHandler when it is clicked on. */
	if (obj.addEventListener)
		obj.addEventListener(evt,fn,false);
	else if (obj.attachEvent)
		obj.attachEvent('on'+evt,fn);
}

function bpStopManagingEvent(obj,evt,fn) {
	if (obj.removeEventListener)
		obj.removeEventListener(evt,fn,false);
	else if (obj.detachEvent)
		obj.detachEvent('on'+evt,fn);
}

function bpCancelEvent(evt) {
	if(evt.preventDefault){
		evt.preventDefault();
	}else{
		evt.returnValue = false;
		evt.cancelBubble = true;
	}
}

// return element
function bpElem(identifier) {
   return document.getElementById(identifier);
}

//Logo Girlz User Javascript Functions

function showUserLogin(req){
	bpElem("userContent").innerHTML = req;
	Effect.Appear('userContent');
	//bpManageEvent(bpElem('sendEmail'),"click", getPassword);


	if($("logInNm") && $("logInPw") && $("gobut")){
	$("gobut").onclick=function(){
		xmlHttp= new Ajax.Request("userLogin.php", {
			method: "get", parameters: "logInNm="+$F("logInNm")+"&logInPw="+$F("logInPw"), onComplete:function(request){
				var testThis = request.responseText;
				switch (testThis){
					
					case "special":
						var c = 'TRUE:'+$F("logInNm")+':'+$F("logInPw");
						bpCreateCookie('lgloginuser','TRUE',1);
						//The user has been validated, so build the customized order form
						var nm = $F("logInNm");
						var pwd = $F("logInPw");
						showOrderFormSpecial(nm,pwd);
					break;
					
					case "manager":
						var c = 'TRUE:'+$F("logInNm")+':'+$F("logInPw");
						bpCreateCookie('lgloginuser','TRUE',1);
						//The user has been validated, so build the customized order form
						var nm = $F("logInNm");
						var pwd = $F("logInPw");
						showOrderFormManager(nm,pwd);
					break;
					
					case "TRUE":
						var c = 'TRUE:'+$F("logInNm")+':'+$F("logInPw");
						bpCreateCookie('lgloginuser','TRUE',1);
						//The user has been validated, so build the customized order form
						var nm = $F("logInNm");
						var pwd = $F("logInPw");
						showOrderForm(nm,pwd);
					
					break;
					
					case "FALSE":
						var msg = "Incorrect Username or Password, try again";
						bpElem("popup-inner").innerHTML= msg;
					Effect.Appear("popup-inner");
						Effect.Appear("popup");
					var vrl=window.setInterval(function(){
						Effect.Fade("popup");
						window.clearInterval(vrl);
					},2*1000);
					break;
					
					case "NOACCESS":
						var msg="Access has expired; See your manager.";
						bpElem("popup-inner").innerHTML= msg;
					Effect.Appear("popup-inner");
						Effect.Appear("popup");
					var vrl=window.setInterval(function(){
						Effect.Fade("popup");
						window.clearInterval(vrl);
					},2*1000);
					
					break;
				
				
			}//end switch
			
			
			
			
			}});
	}
	}
	
}
function getPassword() {
	readTextWithGet("sendPassword.txt", sendPasswordEmail);
}
function sendPasswordEmail(req){
	bpElem("userContent").innerHTML = req;
	Effect.Appear('userContent');

if($("first") && $("last") && $("gobut")){
	$("gobut").onclick=function(){
		xmlHttp= new Ajax.Request("sendPasswordEmail.php", {
			method: "get", parameters: "first="+$F("first")+"&last="+$F("last"), onComplete:function(request){
				if(request.responseText == "TRUE") {
					
					bpElem("popup-inner").innerHTML="Email Sent";
					Effect.Appear("popup");
						var vrl=window.setInterval(function(){
							Effect.Fade("popup");
							window.clearInterval(vrl);
						},2*1000);
						readTextWithGet("login.txt", showUserLogin);

				} else {
					bpElem("popup-inner").innerHTML="Username and Name combo do not exist.";
					Effect.Appear("popup");
				var vrl=window.setInterval(function(){
					Effect.Fade("popup");
					window.clearInterval(vrl);
				},2*1000);
			}//end else
			}});
	}
	}

	
}

function showOrderForm(logInNm,logInPw){
	location.href="orderForm.php";
}
function showOrderFormManager(logInNm,logInPw){
	location.href="orderFormManager.php";
}
function showOrderFormSpecial(logInNm,logInPw){
	location.href="orderFormSpecial.php";
}


function readTextContent(req){
	bpElem("userContent").innerHTML = req;
	
}

function validate(){
	if(document.orderForm.EmployeeName.value != ''){document.orderForm.submit();} else {alert("You must enter your full name!"); bpElem("employee").focus();}	
	
}

function userLogOut(){
	bpEraseCookie('lgloginuser');
	$cookie = bpReadCookie('lgloginuser');
	
	logInNm="";
	logInPw="";
	//Delete Session Variables
	window.location.href="index.php";

}
function printpage() {
window.print();  
}
function cancelFunction(type){
	switch(type){
		default:
		readTextWithGet("login.txt", showUserLogin);
		break;

	}
}

function showLargeImage(image){
	bpElem("userMsg").style.display="block";
	bpElem("userMsg").innerHTML='<a href="#" onclick="closePopup()"><div id="imagePopup"><img src="products/products/'+image+'" ></div><p>Click anywhere to close</p></a>"';
}

function closePopup(){
	bpElem("userMsg").innerHTML='';
	bpElem("userMsg").style.display="none";
	
}

function MM_validateForm() { //v4.0
  if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
      if (val) { nm=val.name; if ((val=val.value)!="") {
        if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
          if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
        } else if (test!='R') { num = parseFloat(val);
          if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
          if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
            min=test.substring(8,p); max=test.substring(p+1);
            if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
      } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
    } if (errors) alert('The following error(s) occurred:\n'+errors);
    document.MM_returnValue = (errors == '');
} }

