function setMenu(){
	var menu = document.getElementById('left').style;
	var pagewrap = document.getElementById('pagewrap').style;
	var prev = getCookie('left');
	if(prev==null||prev=='none'){
		menu.display='none';
		pagewrap.background='none';
		pagewrap.backgroundColor='#ffffff';
	} else if(prev=='block'){
		menu.display='block';
		pagewrap.background='url(images/menu_bg.gif)';
		pagewrap.backgroundRepeat='repeat-y';
		pagewrap.backgroundColor='#ffffff';
	}
}

function showHideMenu(){
	var menu = document.getElementById('left').style;
	var pagewrap = document.getElementById('pagewrap').style;
	var prev = getCookie('left');
	if(prev==null||prev=='block'){
		setCookie('left','none');
		menu.display='none';
		pagewrap.background='none';
		pagewrap.backgroundColor='#ffffff';
	} else if(prev=='none'){
		setCookie('left','block');
		menu.display='block';
		pagewrap.background='url(images/menu_bg.gif)';
		pagewrap.backgroundRepeat='repeat-y';
		pagewrap.backgroundColor='#ffffff';
	}

}

	function getCookie(NameOfCookie){
		if (document.cookie.length > 0) {              
			begin = document.cookie.indexOf(NameOfCookie+"=");       
			if (begin != -1) {           
				begin += NameOfCookie.length+1;       
				end = document.cookie.indexOf(";", begin);
				if (end == -1) end = document.cookie.length;
				return unescape(document.cookie.substring(begin, end));
			} 
		}
	return null;
	}
	function setCookie( name, value, expires, path){
		var today = new Date();
		today.setTime( today.getTime() );
		if ( expires ){
			expires = expires * 1000 * 60 * 60 * 24;
		}
		var expires_date = new Date( today.getTime() + (expires) );
		document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
		( ( path ) ? ";path=" + path : "" );
	}

	var submitted=false;
	var alertMsg = "";
function getFormData(formName,fields){
	if(typeof document.forms[formName] != "object") return;
	var elems = document.forms[formName].elements;
	var elementType = "";
	var queryString="";
	for (var i=0; i<elems.length; i++){ // in elems){
		var arrayelem = false;
		elementType=elems[i].type;
		if((isArray(fields) && indexOf(fields,elems[i].name)>-1)|| !isArray(fields)){
			//if (elementType!='hidden'||elems[i].name!="action"){ // we don't want the hidden action element to be populated.
			
				//if alert ("Changing "+elems[i].value+" to "+varArray[elems[i].name]);
				// TEXT , TEXTAREA, HIDDEN, PASSWORD
				if(elementType=='text'||elementType=='textarea'||elementType=='hidden'||elementType=='password') // checking of type TEXT, TextArea, Hidden, and Password				
						queryString+= elems[i].name+"="+urlencode(elems[i].value)+'&';
						//queryString+= elems[i].name+"="+urlencode(elems[i].value)+'&';
						
				if(elementType=='checkbox'){
					if(elems[i].checked)
						queryString+= elems[i].name+"="+urlencode(elems[i].value)+'&';
				}
				// SELECT - ONE
				if(elementType=='select-one'){  // deal radio buttons separately since we don't set value, instead we SELECT
					for(var j=0; j<elems[i].options.length; j++){
						if(elems[i].options[j].selected){
							queryString+= elems[i].name+"="+elems[i].options[j].value+'&';
						}
					}
				}
				
			//}
		}
	}
	
	return queryString;
}
function isValid(htmlform){
	var valid=true;
	var elems = htmlform.elements;
	for(var i=0; i<elems.length; i++){
		for(var j=0; j<xx_req_fields.length;j++)
			if(elems[i].name==xx_req_fields[j] && elems[i].value==''){
				valid=false;
				elem=elems[i];
				elem.style.borderColor="#000000";
				elem.style.borderStyle="solid";
				elem.style.borderWidth="1px";
			}
	}
	if(!valid) alert("Required field(s) missing");
	return valid;
}
	function safeSubmit(sform,paramAlertMsg){
		if(!isObject(sform))return false;
		if(isdefined("doPreValidation") && doPreValidation && !isValid(sform)) return false;
		if(isValid(sform)){
			if(submitted) alert(alertMsg);
			else {
				submitted=true;
				alertMsg = paramAlertMsg;
				return true;
			}
		}	
		return false;
	}
	function isObject(obj){
		if(typeof obj != "object") return false;	
		else return true;
	}
	function toggle_on_select(selectElement,optionValue,hiddenElem,displayType){
		if (typeof selectElement == 'undefined' || typeof document.getElementById(hiddenElem) == 'undefined' ) return;
		var inverse = (optionValue.charAt(0)=="!");
		var inverse_val = optionValue.substring(1);

		for(var j=0; j<selectElement.options.length ; j++){
		
			if(selectElement.options[j].selected==true && ! inverse){
			
				if(selectElement.options[j].value==optionValue)
				try{	
					document.getElementById(hiddenElem).style.display = displayType;
				}catch(err){
					//alert(selectElement.options[j].value);
					//alert(document.getElementById(hiddenElem).style.display);
					//alert(displayType);
					//alert(err.description);
					break;
				}
				else if(selectElement.options[j].value!=optionValue)
					document.getElementById(hiddenElem).style.display="none";
				
			} else 	if(selectElement.options[j].selected==true && inverse){

				if(selectElement.options[j].value!=inverse_val)
					document.getElementById(hiddenElem).style.display=displayType;
				else if(selectElement.options[j].value==inverse_val)
					document.getElementById(hiddenElem).style.display="none";

			} 
		
		}
		
	}


function isdefined( variable){
    return (typeof(window[variable]) == "undefined")?  false: true;
}

function popUp(URL,width,height) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width="+width+",height="+height+",left = 340,top = 237');");
}
function arrayIndexOf(sarray,str){
	if(!isArray(sarray)||sarray.length ==0) return -1;
	for(var i=0; i<sarray.length; i++){
		if(sarray[i]==str) return i
	}
	return -1;
}


function errorFields(elements,formName){
	if(!isArray(elements)||elements.length ==0||formName==""||!isObject(document.forms[formName])) return;

	var formFields = document.forms[formName].elements;
	
	for(var i=0; i<formFields.length; i++){
		var index = arrayIndexOf(elements,formFields[i].name);
		if(index>=0){
			var elem = formFields[i];
			elem.style.borderColor="#000000";
			elem.style.borderStyle="solid";
			elem.style.borderWidth="1px";
		}
	}
}

function alternateColor(tblname,leaveFromTop,leaveFromBottom,color)
{
	if(document.getElementById(tblname)!=null){
		for(var i=leaveFromTop; i<document.getElementById(tblname).rows.length-leaveFromBottom;i++){
			for(var j=0; j<document.getElementById(tblname).rows[i].cells.length; j++){
				var cell = document.getElementById(tblname).rows[i].cells[j];
				var style = cell.style;
				if(i%2==0)
					style.backgroundColor = color;
				else
					style.backgroundColor = "#ffffff";
			}
		}
	} 
}
		
function isArray(obj) {
	if(!obj) return false;
	//returns true is it is an array
	if (obj.constructor.toString().indexOf("Array") == -1)
		return false;
	else
		return true;
}
function formPopulate(varArray, formName){
	if(typeof document.forms[formName] != "object") return;
	
	if(!isArray(varArray)) return;

	var elems = document.forms[formName].elements;
	var elementType = "";
	
	for (var i=0; i<elems.length; i++){ // in elems){
		var arrayelem = false;
		elementType=elems[i].type;
		if((elems[i].name).indexOf("[]")>=0){ // considered to be an array
			var phpName = (elems[i].name).substring(0,(elems[i].name).length-2);
			
			if(elementType=="checkbox"){
			if (typeof varArray[phpName]!="undefined" && isArray(varArray[phpName])){ // the multiple select or check boxes may only have one user option making the variable non-array
			
						for(var j=0;j<varArray[phpName].length;j++){
						if(varArray[phpName][j]==elems[i].value)
							elems[i].checked=true;
					}
				} else { // if user selected only one, we don't need to traverse it (removed 'j' index)
					if(varArray[phpName]==elems[i].value)
						elems[i].checked=true;
				}
			} else if(elementType=="select-multiple"){
				
				if (typeof varArray[phpName]!="undefined"){
					if(isArray(varArray[phpName])){ // the multiple select or check boxes may only have one user option making the variable non-array
						// FOR: traversing through each elements posted by user
						for(var j=0;j<varArray[phpName].length;j++){
							// traversing through the OPTION elements to SELECT
							for(var k=0; k<elems[i].options.length; k++){
								if(elems[i].options[k].value==varArray[phpName][j])
									elems[i].options[k].selected=true;
							}
						}
					}
				}
			}
		} else if (elementType!='hidden'||elems[i].name!="action"){ // we don't want the hidden action element to be populated.
			//if alert ("Changing "+elems[i].value+" to "+varArray[elems[i].name]);
			// TEXT , TEXTAREA, HIDDEN, PASSWORD
			if(elementType=='text'||elementType=='textarea'||elementType=='hidden'||elementType=='password'){ // checking of type TEXT, TextArea, Hidden, and Password
				if(varArray[elems[i].name]) // we only try to populate if we've found any value for it
					elems[i].value=varArray[elems[i].name];
			}
					
			// RADIO, CHECKBOX(single)
			if(elementType=='radio'||elementType=='checkbox'){ // deal radio buttons separately since we don't set value, instead we CHECK
				if(elems[i].value==varArray[elems[i].name])
					elems[i].checked=true;
			}
				
			// SELECT - ONE
			if(elementType=='select-one'){  // deal radio buttons separately since we don't set value, instead we SELECT
				for(var j=0; j<elems[i].options.length; j++){
					if(elems[i].options[j].value==varArray[elems[i].name])
						elems[i].options[j].selected=true;
				}
			}
		}
	}
	return;
	
}

function indexOf(searchArray,key){
	if(!isArray(searchArray)) return -1;
	for (var i=0; i<searchArray.length; i++)
		if(searchArray[i]==key) return i;
	
	return -1;
}
function getFormData(formName,fields){
	
	if((typeof formName)!='object' && typeof document.forms[formName] != "object") return;
	
	// getting the form object
	var formObject = formName;
	if((typeof formName)!='object')
		formObject = document.forms[formName];
	
	
	var elems = formObject.elements;
	var elementType = "";
	var queryString="";
	for (var i=0; i<elems.length; i++){ // in elems){
		var arrayelem = false;
		elementType=elems[i].type;
		if((isArray(fields) && indexOf(fields,elems[i].name)>-1)|| !isArray(fields)){
			if (elementType!='hidden'||elems[i].name!="action"){ // we don't want the hidden action element to be populated.
			
				//if alert ("Changing "+elems[i].value+" to "+varArray[elems[i].name]);
				// TEXT , TEXTAREA, HIDDEN, PASSWORD
				if(elementType=='text'||elementType=='textarea'||elementType=='hidden'||elementType=='password'||elementType=='radio') // checking of type TEXT, TextArea, Hidden, and Password				
				{
						if((elementType=='radio' && elems[i].checked) || elementType!='radio')
						queryString+= elems[i].name+"="+elems[i].value+'&';
				}
						
				// SELECT - ONE
				if(elementType=='select-one'){  // deal radio buttons separately since we don't set value, instead we SELECT
					for(var j=0; j<elems[i].options.length; j++){
						if(elems[i].options[j].selected)
							queryString+= elems[i].name+"="+elems[i].options[j].value+'&';
					}
				}
			}
		}
	}
	
	return queryString;
}
function urlencode(str) {
    // http://kevin.vanzonneveld.net
    // +   original by: Philip Peterson
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: AJ
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: travc
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Lars Fischer
    // +      input by: Ratheous
    // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
    // %          note 1: This reflects PHP 5.3/6.0+ behavior
    // *     example 1: urlencode('Kevin van Zonneveld!');
    // *     returns 1: 'Kevin+van+Zonneveld%21'
    // *     example 2: urlencode('http://kevin.vanzonneveld.net/');
    // *     returns 2: 'http%3A%2F%2Fkevin.vanzonneveld.net%2F'
    // *     example 3: urlencode('http://www.google.nl/search?q=php.js&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a');
    // *     returns 3: 'http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a'
 
    var hexStr = function (dec) {
		if(dec==10||dec==13)
			return '%0' + dec.toString(16).toUpperCase();
		else
			return '%' + dec.toString(16).toUpperCase();
    };
 
    var ret = '',
            unreserved = /[\w.-]/; // A-Za-z0-9_.- // Tilde is not here for historical reasons; to preserve it, use rawurlencode instead
    str = (str+'').toString();
 
    for (var i = 0, dl = str.length; i < dl; i++) {
        var ch = str.charAt(i);
        if (unreserved.test(ch)) {
            ret += ch;
        }
        else {
            var code = str.charCodeAt(i);
            // Reserved assumed to be in UTF-8, as in PHP
            if (code === 32) {
                ret += '+'; // %20 in rawurlencode
            }
            else if (code < 128) { // 1 byte
                ret += hexStr(code);
				//alert(hexStr(code));
            }
            else if (code >= 128 && code < 2048) { // 2 bytes
                ret += hexStr((code >> 6) | 0xC0);
                ret += hexStr((code & 0x3F) | 0x80);
            }
            else if (code >= 2048 && code < 65536) { // 3 bytes
                ret += hexStr((code >> 12) | 0xE0);
                ret += hexStr(((code >> 6) & 0x3F) | 0x80);
                ret += hexStr((code & 0x3F) | 0x80);
            }
            else if (code >= 65536) { // 4 bytes
                ret += hexStr((code >> 18) | 0xF0);
                ret += hexStr(((code >> 12) & 0x3F) | 0x80);
                ret += hexStr(((code >> 6) & 0x3F) | 0x80);
                ret += hexStr((code & 0x3F) | 0x80);
            }
        }
    }
    return ret;
}

//returns the html from a give html/php page
	//Note: using a .tpl won't work unless it is requested through a .php file. (apache won't read it as php)
	//params: url: the url of the website such as "mypage.php"
	//data: params to pass to the page such as "search=some search term"
	// returns the html data from the requested page. Can be directly
	// appeneded to a page using 
	//$("#existing_object").append(getPage("page.php", "search= some serach term"));
	function getPage(url, data)
	{
		
		return  $.ajax({
		  url: url,
		  async: false,
		  data: data,
		  dataType: "html",
		  cache: false}).responseText;
	}
	
	function getPopup(selector, url, data)
	{
		$('body').append( $.ajax({
		  url: url,
		  async: false,
		  data: data,
		  dataType: "html",
		  cache: false}).responseText);
	}
	function slideRemove(obj)
	{
		$(obj).slideToggle('slow', function(){ $(obj).remove(); } );
	}
	
	function removePopup(selector)
	{
		$(window).unbind('scroll');
		$(window).unbind('resize');
		slideRemove(selector);
	}
	
	function pageWidth() {
		return window.innerWidth != null? window.innerWidth : document.documentElement && document.documentElement.clientWidth ?       document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null;} 
		
	function pageHeight() {return  window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ?  document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null;
		} 
	
	function posLeft() {return typeof window.pageXOffset != 'undefined' ? window.pageXOffset :document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0;} 
	
	function posTop() {return typeof window.pageYOffset != 'undefined' ?  window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0;} function posRight() {return posLeft()+pageWidth();} function posBottom() {return posTop()+pageHeight();}

var maxSize = null;
if(pageWidth() < 1220)
{
	maxSize = { width:600, height: 1400 };
}else
{
	maxSize = {width:1140, height: 560};
}

function playVideo(id)
{
	if($('#popup').length)
	{
		$('body').popup('close');
	}
	$('body').popup({url: '/videoplayer.php?id='+id, endSize: maxSize, padding: {x: 25, y:25} });
}

function showTerms(id)
{
	if($('#popup').length)
	{
		$('body').popup('close');
	}
	$('body').popup({url: '/terms_conditions.php?id='+id, endSize: maxSize, padding: {x: 25, y:25} });
}
