// JavaScript Document

// Implement business logic

//-- admin form submit ----
function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function closeMsgWindow(){
    document.getElementById('fade').style.display='none';
    document.getElementById('light').style.display='none';
    document.getElementById('error').style.display='none';
}

function closeRevWindows(){
    document.getElementById('revFade').style.display='none';
    document.getElementById('revLight').style.display='none';
    document.getElementById('revError').style.display='none';
}

//--- Employee Ajax Functions --------------------------------------------
function funBioInfo(sID){	

	var httpObject;
	
	httpObject = getHTTPObject();
	
	if (httpObject != null) {	
	
		//httpObject.open("GET", "http://localhost/cpslaw/Info.php?p=e&id="+encodeURI(sID)+"&sid="+Math.random(), true); http://www.cps-law.net/
		httpObject.open("GET", "http://www.cps-law.net/Info.php?p=e&id="+encodeURI(sID)+"&sid="+Math.random(), true); 
		httpObject.send(null);
		httpObject.onreadystatechange = function(){setEmployeeBioOutput(httpObject);} //-- Database
		
		//httpObject.onreadystatechange = function(){setXMLEmployeeInfoOutput(httpObject);}
	}
		
}

function funEmpInfo(){	

	var httpObject;
	var sID = document.getElementById("selEmp").value;
	httpObject = getHTTPObject();
	
	if (httpObject != null) {	
	
		//httpObject.open("GET", "http://localhost/cpslaw/Info.php?p=e&id="+encodeURI(sID)+"&sid="+Math.random(), true);
		httpObject.open("GET", "http://www.cps-law.net/Info.php?p=e&id="+encodeURI(sID)+"&sid="+Math.random(), true);
		httpObject.send(null);
		httpObject.onreadystatechange = function(){setEmployeeInfoOutput(httpObject);} //-- Database
		
		//httpObject.onreadystatechange = function(){setXMLEmployeeInfoOutput(httpObject);}
	}
		
}
//------------------------------------------------------------------------------------------

//-- Ajax Page Functions ---------------------------------------------------------------------------
function funPageInfo(){	

	var httpObject;
	var sID = document.getElementById("selPage").value;
	httpObject = getHTTPObject();
	
	if (httpObject != null) {	
	
		//httpObject.open("GET", "http://localhost/cpslaw/Info.php?p=pg&id="+encodeURI(sID), true);
		httpObject.open("GET", "http://www.cps-law.net/Info.php?p=pg&id="+encodeURI(sID), true);
		httpObject.send(null);
		httpObject.onreadystatechange = function(){setPageOutput(httpObject);} //-- Database
		
		//httpObject.onreadystatechange = function(){setXMLEmployeeInfoOutput(httpObject);}
	}
		
}
//---------------------------------------------------------------------------------------------------

//-- Page Databse Call ------------------------------------------------------------------------------
function setPageOutput(httpObject){
	//alert(httpObject.readyState);

	if(httpObject.readyState == 4){

	 //document.getElementById('pageTitle').style.display = 'block';
	 //document.getElementById('pageUpdateBdy').style.display = 'block';
	 var selpage = document.getElementById('selPage');
	 //document.getElementById('divBioContainer').style.border = 'solid #8a8a34 1px';

		var myString = new String(httpObject.responseText);
		var myArray = myString.split('|||'); // split on commas
		var id = myArray[0];
		var title = htmlspecialchars_decode(myArray[1],'ENT_QUOTES');
		var pageCopy = htmlspecialchars_decode(myArray[2],'ENT_QUOTES');
		//alert(pageCopy);
		document.getElementById('pageTitle').value = (title);
		//document.getElementById('pageUpdateBdy').innerHTML = (pageCopy); //-- pageCopy
					
		InsertHTML(pageCopy, CKEDITOR.instances.pageUpdateBdy);


		for(i=0; i < selpage.options.length; i++){
			if(id == selpage.options[i].value)
				selpage.options[i].selected = true;				
		}
	
	}
	httpObject.close;

}
//--------------------------------------------------------------------------------------------


//-- Employee Database Call -------------------------------------------------------------------------
function setEmployeeBioOutput(httpObject){
	//alert(httpObject.readyState);

	if(httpObject.readyState == 4){
	 document.getElementById('divOurTeamMsg').style.display = 'none';
	 document.getElementById('divBio').style.display = 'block';
	 document.getElementById('divBioContainer').style.border = 'solid #8a8a34 1px';
	 //divBio.innerHTML = (httpObject.responseText);
	 //alert(httpObject.responseText);
	 var divBio = document.getElementById('divBio'); 

	 document.getElementById('divOurTeamMsg').style.display = 'none';
	 document.getElementById('divBio').style.display = 'block';
	 document.getElementById('divBioContainer').style.border = 'solid #8a8a34 1px';

		var myString = new String(httpObject.responseText);
		var myArray = myString.split('|||'); // split on commas
		var name;
		var email;
		var title;
		var image;
		
		//alert(myArray[0] + " -ID"); //-- EmpID
		//alert(myArray[1] + " -name"); //-- name
		//alert(myArray[2] + " -email"); //-- email
		//alert(myArray[3] + " -bio"); //-- bio
		
		name = ("<b style='font-size: 12pt;'>" + myArray[1] + "</b><br/><br/>");
		image = ("<img src='images/Portraits/250/" + trim(myArray[0]) +".jpg' align='left' class='img'>");
		email = ("email: <a href='mailto:" + (myArray[2]) + "'><b>" + (myArray[2]) + "</b></a></p>");
		divBio.innerHTML = (image + name + "<br/>" + email  + myArray[3].replace(/`/i,"'")); //-- Bio
	
	}
	httpObject.close;

}

function setEmployeeInfoOutput(httpObject){

		try{	
			if(httpObject.readyState == 4){
					var myString = new String(httpObject.responseText);
					var myArray = myString.split('|||'); // split on commas
					var id = myArray[0];
					var name = htmlspecialchars_decode(myArray[1],'ENT_QUOTES');
					var email = htmlspecialchars_decode(myArray[2],'ENT_QUOTES');
					var bio = htmlspecialchars_decode(myArray[3],'ENT_NOQUOTES');
					var status = myArray[4];
					var phone = myArray[5];
					var title = htmlspecialchars_decode(myArray[6],'ENT_QUOTES');
					
					//alert(myArray[0]+"-id | " + myArray[1]+"-name | " + myArray[2]+"-email | " + myArray[6]+"-title | " + myArray[5]+"-phone | " + myArray[4]+"-status | " + myArray[3]+"-Bio" );
					document.getElementById("imgEmp").src = "images/Portraits/thmb_"+id+".jpg"; 
					document.getElementById("empName").value = name;
					document.getElementById("empEmail").value = email;
					document.getElementById("empTitle").value = title;
					document.getElementById("empPhone").value = phone;
					var len = document.frmAdmin.empStatus.length;
					
					for(i=0;i<len;i++)
					{
						btnRadio = document.frmAdmin.empStatus[i];
						if(btnRadio.value == status){
							btnRadio.checked = true;
						}						
					}
					InsertHTML(bio, CKEDITOR.instances.empUpdateBdy);
		
			}
			httpObject.close;
				
					
		}catch(err){
			//alert("The following error has accured:\n" + err.name + "\n" + err.message + "\nDescription" + err.description + "\nLine #" + err.number);
			
			document.getElementById("fade").style.display = 'block';
			document.getElementById("light").style.display = 'none';
			document.getElementById("error").style.display = 'block';
			document.getElementById("error").innerHTML = "<h1>Data Error</h1><br/>A error has occured while retieving the requested data.<br/>Please click the close window link and refresh the page. Then try again. If the problem persists please contact the CMS administrator.<br><span onclick='closeMsgWindow();' class='link'>Close Window</span>";
		}

}

function InsertHTML(copy, oEditor)
{
	// Get the editor instance that we want to interact with.
	//var oEditor = CKEDITOR.instances.empUpdateBdy;
	var value = copy; 

	// Check the active editing mode.
	if ( oEditor.mode == 'wysiwyg' )
	{
		if(value != ""){
		// Insert the desired HTML.
			oEditor.setData( value );
		}else{
			oEditor.setData( "There is no information. Format employee bio, new article or page body copy here." );
		}
	}
	else
		alert( 'You must be on WYSIWYG mode!' );
}

//--------------------------------------------------------------------------------------------

//-- XML Call (Not used 4/28/10) --------------------------------------------------------------------------------

function setXMLEmployeeInfoOutput(httpObject){
	//alert(httpObject.readyState);

	if(httpObject.readyState == 4){
	 var divBio = document.getElementById('divBio'); 

	 document.getElementById('divOurTeamMsg').style.display = 'none';
	 document.getElementById('divBio').style.display = 'block';
	 document.getElementById('divBioContainer').style.border = 'solid #8a8a34 1px';

		var myString = new String(httpObject.responseText);
		var myArray = myString.split('|||'); // split on commas
		var name;
		var email;
		var title;
		var image;
		
		//alert(myArray[0] + " -ID"); //-- EmpID
		//alert(myArray[1] + " -name"); //-- name
		//alert(myArray[2] + " -email"); //-- email
		//alert(myArray[3] + " -bio"); //-- bio
		
		name = ("<b style='font-size: 12pt;'>" + myArray[1] + "</b><br/><br/>");
		image = ("<img src='images/Portraits/250/" + trim(myArray[0]) +".jpg' align='left' class='img'>");
		email = ("email: <a href='mailto:" + (myArray[2]) + "'><b>" + (myArray[2]) + "</b></a></p>");
		divBio.innerHTML = (image + name + "<br/>" + email  + myArray[3].replace(/`/i,"'")); //-- Bio

	
	}
	httpObject.close;

}
	
//--------------------------------------------------------------------------------------------



///--------------------------- NEWS Info Calls -----------------------------------------------

function funNewsInfo(sID){	

	var httpObject;
	
	httpObject = getHTTPObject();
	alert(sID);
	
	if (httpObject != null) {	
	
		httpObject.open("GET", "/NewsInfo.php?id="+encodeURI(sID)+"&sid="+Math.random(), true);	
		httpObject.send(null);
		//httpObject.onreadystatechange = function(){setEmployeeInfoOutput(httpObject);} -- Database
		
		httpObject.onreadystatechange = function(){setXMLNewsInfoOutput(httpObject);}
	}
		
}

//-------------------------------------------------------------------------------------------


function setXMLNewsInfoOutput(httpObject){
	//alert(httpObject.readyState);

	if(httpObject.readyState == 4){
	 var divNews = document.getElementById('newsStory'); 

	 //document.getElementById('divOurTeamMsg').style.display = 'none';
	 //document.getElementById('divNews').style.display = 'block';
	 //document.getElementById('divNewsContainer').style.border = 'solid #8a8a34 1px';

		var myString = new String(httpObject.responseText);
		var myArray = myString.split('|||'); // split on commas
		//var name;
		//var email;
		//var title;
		//var image;
		alert(myString + " -string"); //-- string
		alert(myArray[0] + " -ID"); //-- Id
		alert(myArray[1] + " -title"); //-- title
		alert(myArray[2] + " -story"); //-- story
		//alert(myArray[3] + " -bio"); //-- bio
		
		//name = ("<b style='font-size: 12pt;'>" + myArray[1] + "</b><br/><br/>");
		//image = ("<img src='images/Portraits/250/" + trim(myArray[0]) +".jpg' align='left' class='img'>");
		//email = ("email: <a href='mailto:" + (myArray[2]) + "'><b>" + (myArray[2]) + "</b></a></p>");
		divNews.innerHTML = (myArray[2].replace(/`/i,"'")); //-- story

	
	}
	httpObject.close;

}


//--- HTMl Format functions ------------------------------------------------------------------
function htmlspecialchars_decode (string, quote_style) {
    // http://kevin.vanzonneveld.net
    // +   original by: Mirek Slugen
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Mateusz "loonquawl" Zalega
    // +      input by: ReverseSyntax
    // +      input by: Slawomir Kaniecki
    // +      input by: Scott Cariss
    // +      input by: Francois
    // +   bugfixed by: Onno Marsman
    // +    revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
    // +      input by: Ratheous
    // +      input by: Mailfaker (http://www.weedem.fr/)
    // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
    // +    bugfixed by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: htmlspecialchars_decode("<p>this -&gt; &quot;</p>", 'ENT_NOQUOTES');
    // *     returns 1: '<p>this -> &quot;</p>'
    // *     example 2: htmlspecialchars_decode("&amp;quot;");
    // *     returns 2: '&quot;'

    var optTemp = 0, i = 0, noquotes= false;
    if (typeof quote_style === 'undefined') {
        quote_style = 2;
    }
    string = string.toString().replace(/&lt;/g, '<').replace(/&gt;/g, '>');
    var OPTS = {
        'ENT_NOQUOTES': 0,
        'ENT_HTML_QUOTE_SINGLE' : 1,
        'ENT_HTML_QUOTE_DOUBLE' : 2,
        'ENT_COMPAT': 2,
        'ENT_QUOTES': 3,
        'ENT_IGNORE' : 4
    };
    if (quote_style === 0) {
        noquotes = true;
    }
    if (typeof quote_style !== 'number') { // Allow for a single string or an array of string flags
        quote_style = [].concat(quote_style);
        for (i=0; i < quote_style.length; i++) {
            // Resolve string input to bitwise e.g. 'PATHINFO_EXTENSION' becomes 4
            if (OPTS[quote_style[i]] === 0) {
                noquotes = true;
            }
            else if (OPTS[quote_style[i]]) {
                optTemp = optTemp | OPTS[quote_style[i]];
            }
        }
        quote_style = optTemp;
    }
    if (quote_style & OPTS.ENT_HTML_QUOTE_SINGLE) {
        string = string.replace(/&#0*39;/g, "'"); // PHP doesn't currently escape if more than one 0, but it should
        // string = string.replace(/&apos;|&#x0*27;/g, "'"); // This would also be useful here, but not a part of PHP
    }
    if (!noquotes) {
        string = string.replace(/&quot;/g, '"');
    }
    // Put this in last place to avoid escape being double-decoded
    string = string.replace(/&amp;/g, '&');

    return string;
}
//-------------------------------------------------------------------------------------------


