/*
*	MudiBlox Framework.
*	Javascript functions
*	Author : Jeffrey van Hal (Digitien), Muhamed Durakovic (Mubis)
*	CopyRight 2008 
*	Date: 30-07-2008
*/
var default_init_page = 49;

var QueryString = {
   params : $(window.location.search.toQueryParams()),
  
   get : function(key, defaultValue) {
       if (defaultValue == null) defaultValue = null;
       var value = this.params[key]
       if (value==null) value = defaultValue;
       return value;
   },
  
   set : function(key, value) {
       this.params[key] = value;
   },
  
   remove : function(key) {
       this.params = this.params.collect(function(param) {
           if (key != param.key) return param;
       }).compact();
   },
  
   make : function() {
       return "?" + this.params.collect(function(param) {
           return escape(param.key) +"="+ escape(param.value);
       }).join("&");
   },
  
   go : function() {
       window.location.href = location.pathname + this.make();
   }
}

var currSelectedMenu = null;
var currContent = new Array();
/*
	AJAX FrameWork Functions 	
*/

function openAjax(){
	var ajaxRequest;  // The variable that makes Ajax possible!
	
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	
	if (!ajaxRequest) { 
   		alert("Unfortunately your browser doesn’t support this feature."); 
   		return false; 
 	} 

	return ajaxRequest;
}

function closeAjax(objAjax){	
	objAjax.send(null); 
}

function imgdivloader(objAjax, strImg)
{
	if(objAjax.readyState == 1){
	document.getElementById(strImg).style.display="block";	
	}
	if(objAjax.readyState == 2){
	document.getElementById(strImg).style.display="none";	
	}	
}

function callfunction(url, callbackFunction, strImgId ,return_xml){

	var ajaxRequestObj = openAjax();	
	ajaxRequestObj.onreadystatechange = function(){
	imgdivloader(ajaxRequestObj,strImgId);
	
		if(ajaxRequestObj.readyState == 4){
			
			if (return_xml) { 
				 response = ajaxRequestObj.responseXML; 
			}else{ 
				 response = ajaxRequestObj.responseText; 
			} 
			if (typeof callbackFunction == 'function') {				
				callbackFunction(response);
			}
			else{
				alert("callbackFunction: "+callbackFunction+" not defined");
			}
			

		}
	}
	if(isEmptyStr(url)){
		alert("No Url defined for this function.");
	}
	ajaxRequestObj.open("POST", url, true);
	closeAjax(ajaxRequestObj); 
}

/* 
	AJAX Wrapper Functions
*/
	function callMenu(id){
		callfunction("?stype=majax&action=menu&cid="+id, mycallback, "imgload",false);
		currSelectedMenu = id;		
	}
	
	var globPageId;
	function callArea(id){
		callfunction("?stype=majax&action=area&area="+id, productAreaCallBack, "imgload",false);
		globPageId = id;
		/*
		if(id == 60){
			document.getElementById('backlink').style.display = 'none';
		}else{
			document.getElementById('backlink').style.display = 'block';
		}
		$('area').value= id;
		$('page').value= 'adfactory_products_page';
		$('arealoader').submit();
		*/
	}
	
	

/* 
	AJAX callBackFunctions
*/
	function mycallback(ajxresponseText){
		//alert(ajxresponseText);	
		document.getElementById('contentblock').innerHTML = ajxresponseText;
		currContent.push = [ {currSelectedMenu:ajxresponseText} ];
	}
	
	function productAreaCallBack(ajxresponseText){
			document.getElementById('div_area_description').innerHTML = ajxresponseText;
			if(globPageId == 60){
			document.getElementById('backlink').style.display = 'none';
			}else{
			document.getElementById('backlink').style.display = 'block';
			}
			
		}
		

/* 
	init function 
*/
function init(){
	var cid = QueryString.get('cid',null);
	if(cid != null){
		id=cid;			
	}else{
		id=default_init_page; //default startpage				
	}
	
	if(typeof currContent == 'object'){
		if(currContent.length > 0){
		alert(currContent[cid]);
		}
	}
	if(currSelectedMenu != null && currSelectedMenu == cid){
			document.getElementById('contentblock').innerHTML = currContent;
	}else{
		callMenu(id);
	}
	
	
}

	function loadPage(id){
		$('page').value = id;
		$('pageloader').submit();
	}

/*
	Custom string and validation functions
*/



function isEmptyStr(s)
{
   var whitespace = " \t\n\r";
   var i;
   if((s == null) || (s.length == 0))
      return true;
   // Search string looking for characters that are not whitespace
   for (i = 0; i < s.length; i++)    
    {   
      var c = s.charAt(i);
      if (whitespace.indexOf(c) == -1) 
        return false;
    }
    // At this point all characters are whitespace.
    return true;
}

function urlencode(text) 
{		
	
	text=text.replace("/\//g","%2F");
	text=text.replace("/?/g","%3F");
	text=text.replace("/=/g","%3D");
	text=text.replace("/&/g","%26");	

		
	/*
	//text=ReplaceAll(text, "/\", "%2F"); 
	text=ReplaceAll(text, "?", "%3F");
	text=ReplaceAll(text, "=", "%3D");
	text=ReplaceAll(text, "&", "%26");
	text=ReplaceAll(text, " ", "+");
	text=ReplaceAll(text, ",", "%2c");	
	*/
	return text;
}

function setlang(langstr){
	$('lang').value = langstr;
	$('frmlang').submit();
	//var url = "index.php?lng="+langstr+"&stype=majax&action=cookie";
	//new Ajax.Request( url, {
	//'onSuccess': function(res){
	//		$('language_flags').style.backgroundColor="#ff0000";
			
			
	//	} 	
	//});	
}

function sendMail(){
	
	var name 		= document.getElementById('contact_name');
	var email 		= document.getElementById('contact_email');
	var type 		= document.getElementById('email_subject');
	var bodytext 	= document.getElementById('email_body');

	var lbname 		= document.getElementById('lbcontact_name');
	var lbemail 	= document.getElementById('lbcontact_email');
	var lbtype 		= document.getElementById('lbemail_subject');
	var lbbodytext 	= document.getElementById('lbemail_body');
		
	
	if(checkmail(email.value, lbemail) && subjectSelected(type, lbtype) && checkContent(name,lbname) && checkContent(bodytext,lbbodytext)){
	//var url= "?stype=majax&action=mail&name="+name.value+"&email="+email.value+"&subject="+type.selectedIndex+"&bodytext="+urlencode(bodytext.value);
	//callfunction(url, mail_is_sent, "imgload",false);
		document.contactfrm.submit();
	}	
}

function mail_is_sent(ajxresponseText){
	
	var name 		= document.getElementById('contact_name');
	var email 		= document.getElementById('contact_email');
	var type 		= document.getElementById('email_subject');
	var bodytext 	= document.getElementById('email_body');

	var lbname 		= document.getElementById('lbcontact_name');
	var lbemail 	= document.getElementById('lbcontact_email');
	var lbtype 		= document.getElementById('lbemail_subject');
	var lbbodytext 	= document.getElementById('lbemail_body');
	
	var spnMessage	= document.getElementById('spnMessage');
	
	name.value = '';
	email.value = '';
	type.value = '';
	bodytext.value = '';
	lbname.value = '';
	lbemail.value = '';
	lbtype.value = '';
	lbbodytext.value = '';
	spnMessage.innerHTML	= ajxresponseText;
	}

function resetMsg(){
	var spnMessage	= document.getElementById('spnMessage');
	spnMessage.innerHTML	='';
	
	}
	
function checkmail(value, objResponsefield){
	var valid_mail=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z0-9.-]{2,6}(?:\.[a-z]{2})?)$/i;
	if (!valid_mail.test(value)) {
		objResponsefield.innerHTML = '*';
		return false;
	}
	else{
	objResponsefield.innerHTML = '';
	return true
	}
}

function subjectSelected(obj,lbobj){
	if(obj.selectedIndex == 0){
		lbobj.innerHTML = '*';	
		return false;
	}else{
	lbobj.innerHTML = '';	
	return true;
	}
}

function checkContent(obj, lbobj){
	if(isEmptyStr(obj.value)){
		lbobj.innerHTML = '*';	
		return false;
	}else{
		lbobj.innerHTML = '';	
		return true;
	}
}

// image map area

function setStatus(strtxt){
	window.status=strtxt;
	return true;
}


