/************************************************************************************************************
Ajax dynamic content
Copyright (C) 2006  DTHMLGoodies.com, Alf Magne Kalleland

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

Dhtmlgoodies.com., hereby disclaims all copyright interest in this script
written by Alf Magne Kalleland.

Alf Magne Kalleland, 2006
Owner of DHTMLgoodies.com


************************************************************************************************************/	

var enableCache = true;
var jsCache = new Array();

var dynamicContent_ajaxObjects = new Array();

function ajax_showContent(divId,ajaxIndex,url,callbackOnComplete)
{
	var targetObj = document.getElementById(divId);
		targetObj.innerHTML = dynamicContent_ajaxObjects[ajaxIndex].response;
		//alert(divId);
	if(enableCache){
		jsCache[url] = 	dynamicContent_ajaxObjects[ajaxIndex].response;
	}
	dynamicContent_ajaxObjects[ajaxIndex] = false;
	
	ajax_parseJs(targetObj);
	
	if(callbackOnComplete) {
		executeCallback(callbackOnComplete);
	}
}

function executeCallback(callbackString) {
	if(callbackString.indexOf('(')==-1) {
		callbackString = callbackString + '()';
	}
	try{
		eval(callbackString);
	}catch(e){

	}
	
	
}

function ajax_loadContent(divId,url,callbackOnComplete)
{
	if(enableCache && jsCache[url]){
		document.getElementById(divId).innerHTML = jsCache[url];
		ajax_parseJs(document.getElementById(divId))
		evaluateCss(document.getElementById(divId))
		if(callbackOnComplete) {
			executeCallback(callbackOnComplete);
		}		
		return;
	}
	
	var ajaxIndex = dynamicContent_ajaxObjects.length;
	//document.getElementById(divId).innerHTML = 'Loading content - please wait';    //kikapcsoltam, hogy ne villogjon
	dynamicContent_ajaxObjects[ajaxIndex] = new sack();
	
	if(url.indexOf('?')>=0){
		dynamicContent_ajaxObjects[ajaxIndex].method='GET';
		var string = url.substring(url.indexOf('?'));
		url = url.replace(string,'');
		string = string.replace('?','');
		var items = string.split(/&/g);
		for(var no=0;no<items.length;no++){
			var tokens = items[no].split('=');
			if(tokens.length==2){
				dynamicContent_ajaxObjects[ajaxIndex].setVar(tokens[0],tokens[1]);
			}	
		}	
		url = url.replace(string,'');
	}

	
	dynamicContent_ajaxObjects[ajaxIndex].requestFile = url;	// Specifying which file to get
	dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,url,callbackOnComplete); };	// Specify function that will be executed after file has been found
	dynamicContent_ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function	
	
	
}

function ajax_loadContent_emailcheck(divId,url,email,callbackOnComplete)
{

	/*var regexEmail = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
		if(email ==""){
			document.getElementById("message_email").innerHTML = "Kérjük add meg az e-mail címed";
		}else{
			if(!email.match(regexEmail)) {
				document.getElementById("message_email").innerHTML = "Hibás email cím";	
				document.getElementById("row_email").style.border = "1px red solid";
				document.getElementById("message_email").style.color = "red";
			}else{
			
				if(document.getElementById("targetdiv").innerHTML=="&nbsp;&nbsp;"){
					document.getElementById("message_email").innerHTML = "Ezzel az e-mail címmel már regisztrált valaki";
					document.getElementById("row_email").style.border = "1px red solid";
					document.getElementById("message_email").style.color = "red";
				}else{
					document.getElementById("message_email").innerHTML = "Rendben";
					document.getElementById("row_email").style.border = "1px white solid";
					document.getElementById("message_email").style.color = "green";
				}
			}
		
		}	
	
*/



	if(enableCache && jsCache[url]){
		document.getElementById(divId).innerHTML = jsCache[url];
		ajax_parseJs(document.getElementById(divId))
		evaluateCss(document.getElementById(divId))
		if(callbackOnComplete) {
			executeCallback(callbackOnComplete);
		}		
		return;
	}
	
	var ajaxIndex = dynamicContent_ajaxObjects.length;
	//document.getElementById(divId).innerHTML = 'Loading content - please wait';    //kikapcsoltam, hogy ne villogjon
	dynamicContent_ajaxObjects[ajaxIndex] = new sack();
	
	if(url.indexOf('?')>=0){
		dynamicContent_ajaxObjects[ajaxIndex].method='GET';
		var string = url.substring(url.indexOf('?'));
		url = url.replace(string,'');
		string = string.replace('?','');
		var items = string.split(/&/g);
		for(var no=0;no<items.length;no++){
			var tokens = items[no].split('=');
			if(tokens.length==2){
				dynamicContent_ajaxObjects[ajaxIndex].setVar(tokens[0],tokens[1]);
			}	
		}	
		url = url.replace(string,'');
	}

	
	dynamicContent_ajaxObjects[ajaxIndex].requestFile = url;	// Specifying which file to get
	dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,url,callbackOnComplete); };	// Specify function that will be executed after file has been found
	dynamicContent_ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function	
	
	
}


function ajax_loadContent_mini(divId,url,type,id,callbackOnComplete)
{
	if(document.getElementById('count_'+id) != null){
		//alert(document.getElementById('count_'+id));
	
		if(type == "add"){
			document.getElementById('count_'+id).innerHTML = document.getElementById('count_'+id).innerHTML*1+1;
		}
		if(type == "del"){
			document.getElementById('count_'+id).innerHTML = document.getElementById('count_'+id).innerHTML*1-1;
		}
		if(document.getElementById('count_'+id).innerHTML*1 < 1){
			document.getElementById('count_message_'+id).innerHTML = "&nbsp;darab a kosárban";
			document.getElementById('count_'+id).innerHTML = "0";
		}else{
			document.getElementById('count_message_'+id).innerHTML = "&nbsp;darab a kosárban";
		}
	
	}

	if(enableCache && jsCache[url]){
		document.getElementById(divId).innerHTML = jsCache[url];
		ajax_parseJs(document.getElementById(divId))
		evaluateCss(document.getElementById(divId))
		if(callbackOnComplete) {
			executeCallback(callbackOnComplete);
		}		
		return;
	}
	
	var ajaxIndex = dynamicContent_ajaxObjects.length;
	//document.getElementById(divId).innerHTML = 'Loading content - please wait';    //kikapcsoltam, hogy ne villogjon
	dynamicContent_ajaxObjects[ajaxIndex] = new sack();
	
	if(url.indexOf('?')>=0){
		dynamicContent_ajaxObjects[ajaxIndex].method='GET';
		var string = url.substring(url.indexOf('?'));
		url = url.replace(string,'');
		string = string.replace('?','');
		var items = string.split(/&/g);
		for(var no=0;no<items.length;no++){
			var tokens = items[no].split('=');
			if(tokens.length==2){
				dynamicContent_ajaxObjects[ajaxIndex].setVar(tokens[0],tokens[1]);
			}	
		}	
		url = url.replace(string,'');
	}

	
	dynamicContent_ajaxObjects[ajaxIndex].requestFile = url;	// Specifying which file to get
	dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,url,callbackOnComplete); };	// Specify function that will be executed after file has been found
	dynamicContent_ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function	
	
	
}




function ajax_loadContent_compare(divId,url,type,id,callbackOnComplete)
{

	
		if(type == "add"){
//			document.getElementById('count_'+id).innerHTML = document.getElementById('count_'+id).innerHTML*1+1;
			//document.getElementById('compview_'+id).innerHTML = "ok";
			
		}
		if(type == "del"){
			//document.getElementById('compview_'+id).innerHTML = "nem ok";
		}
	


	if(enableCache && jsCache[url]){
		document.getElementById(divId).innerHTML = jsCache[url];
		ajax_parseJs(document.getElementById(divId))
		evaluateCss(document.getElementById(divId))
		if(callbackOnComplete) {
			executeCallback(callbackOnComplete);
		}		
		return;
	}
	
	var ajaxIndex = dynamicContent_ajaxObjects.length;
	//document.getElementById(divId).innerHTML = 'Loading content - please wait';    //kikapcsoltam, hogy ne villogjon
	dynamicContent_ajaxObjects[ajaxIndex] = new sack();
	
	if(url.indexOf('?')>=0){
		dynamicContent_ajaxObjects[ajaxIndex].method='GET';
		var string = url.substring(url.indexOf('?'));
		url = url.replace(string,'');
		string = string.replace('?','');
		var items = string.split(/&/g);
		for(var no=0;no<items.length;no++){
			var tokens = items[no].split('=');
			if(tokens.length==2){
				dynamicContent_ajaxObjects[ajaxIndex].setVar(tokens[0],tokens[1]);
			}	
		}	
		url = url.replace(string,'');
	}

	
	dynamicContent_ajaxObjects[ajaxIndex].requestFile = url;	// Specifying which file to get
	dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,url,callbackOnComplete); };	// Specify function that will be executed after file has been found
	dynamicContent_ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function	
	
	
}





function ajax_loadContent_basket_clear(divId,url,products,callbackOnComplete)
{

	
	//A VÉÉGÉN VAN A KOSÁR ÜRÍTÉS



	if(enableCache && jsCache[url]){
		document.getElementById(divId).innerHTML = jsCache[url];
		ajax_parseJs(document.getElementById(divId))
		evaluateCss(document.getElementById(divId))
		if(callbackOnComplete) {
			executeCallback(callbackOnComplete);
		}		
		return;
	}
	
	var ajaxIndex = dynamicContent_ajaxObjects.length;
	//document.getElementById(divId).innerHTML = 'Loading content - please wait';    //kikapcsoltam, hogy ne villogjon
	dynamicContent_ajaxObjects[ajaxIndex] = new sack();
	
	if(url.indexOf('?')>=0){
		dynamicContent_ajaxObjects[ajaxIndex].method='GET';
		var string = url.substring(url.indexOf('?'));
		url = url.replace(string,'');
		string = string.replace('?','');
		var items = string.split(/&/g);
		for(var no=0;no<items.length;no++){
			var tokens = items[no].split('=');
			if(tokens.length==2){
				dynamicContent_ajaxObjects[ajaxIndex].setVar(tokens[0],tokens[1]);
			}	
		}	
		url = url.replace(string,'');
	}

	
	dynamicContent_ajaxObjects[ajaxIndex].requestFile = url;	// Specifying which file to get
	dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,url,callbackOnComplete); };	// Specify function that will be executed after file has been found
	dynamicContent_ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function	
	


	var product_ids = new Array();
	product_ids = products.split(',');
	
	var i=0; 

	for(i=0;i<product_ids.length;i++){
		document.getElementById('count_'+product_ids[i]).innerHTML = "";
		document.getElementById('count_message_'+product_ids[i]).innerHTML = "";
	}
	
}













function ajax_loadContent_num(divId,var1,url,callbackOnComplete)
{

	var var1Regex = /^\d{1,}$/;

	if(!var1.match(var1Regex)){
		alert('Csak számot adjon meg!');
		//alert(var1);
		return false;
	}
	
	if(enableCache && jsCache[url]){
		document.getElementById(divId).innerHTML = jsCache[url];
		ajax_parseJs(document.getElementById(divId))
		evaluateCss(document.getElementById(divId))
		if(callbackOnComplete) {
			executeCallback(callbackOnComplete);
		}		
		return;
	}
	
	var ajaxIndex = dynamicContent_ajaxObjects.length;
	//document.getElementById(divId).innerHTML = 'Loading content - please wait';    //kikapcsoltam, hogy ne villogjon
	dynamicContent_ajaxObjects[ajaxIndex] = new sack();
	
	if(url.indexOf('?')>=0){
		dynamicContent_ajaxObjects[ajaxIndex].method='GET';
		var string = url.substring(url.indexOf('?'));
		url = url.replace(string,'');
		string = string.replace('?','');
		var items = string.split(/&/g);
		for(var no=0;no<items.length;no++){
			var tokens = items[no].split('=');
			if(tokens.length==2){
				dynamicContent_ajaxObjects[ajaxIndex].setVar(tokens[0],tokens[1]);
			}	
		}	
		url = url.replace(string,'');
	}

	
	dynamicContent_ajaxObjects[ajaxIndex].requestFile = url;	// Specifying which file to get
	dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,url,callbackOnComplete); };	// Specify function that will be executed after file has been found
	dynamicContent_ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function	
	
	
}





function ajax_loadContent_num_basket(divId,var1,url,param,callbackOnComplete)
{
//		alert(divId+" - "+var1+" - "+url+" - "+param);
		
		//alert(var1.replace('-','a'));
		//var1 = var1.replace('-','%');
		//alert(var1);
//var ar = this.addtext.value;

//var teszt = document.getElementById('darab_'+var1).innerHTML;

	var formneve = eval('termek_lista_'+var1);
	
	var darabar = formneve.darabar.value;

var addtextRegex = /^\d{1,12}$/;

 if(!formneve.addtext.value.match(addtextRegex)) {
	alert("Kérjük csak számokat adjon meg!")
 }else{

			 if(param=="del"){
				 formneve.addtext.value = (formneve.addtext.value)*1-1;	 
				 //alert((formneve.addtext.value)*1);
			 }

			 if(param=="add"){
				 formneve.addtext.value = (formneve.addtext.value)*1+1;				
			 }

			 if(param=="del_all"){
				 formneve.addtext.value = 0;
			 }
			 /*if(param=="replace"){
				alert(formneve.addtext.value)
			 }*/

			if(formneve.addtext.value<1){
				document.getElementById('basket_mod_container_'+var1).style.display = "none";
			}
			 

			var teljesar = (darabar*formneve.addtext.value*1);
			var teljesar2 = teljesar.toFixed(1);

			
			be_string=teljesar2+"";

			if(be_string.length>5){
				if(be_string.length>8){
					ki=be_string.substr(0,(be_string.length-8))+" "+be_string.substr((be_string.length-8),3)+" "+be_string.substr((be_string.length-5),5)+"0 EUR";
				}else{
					ki=be_string.substr(0,(be_string.length-5))+" "+be_string.substr((be_string.length-5),5)+"0 EUR";
				}
			}else{
				ki=be_string+"0 EUR";
			}
			

			document.getElementById('ertek_basket_'+var1).innerHTML = ki;
			
			



			if(enableCache && jsCache[url]){
				document.getElementById(divId).innerHTML = jsCache[url];
				ajax_parseJs(document.getElementById(divId))
				evaluateCss(document.getElementById(divId))
				if(callbackOnComplete) {
					executeCallback(callbackOnComplete);
				}		
				return;
			}
			
			var ajaxIndex = dynamicContent_ajaxObjects.length;
			//document.getElementById(divId).innerHTML = 'Loading content - please wait';    //kikapcsoltam, hogy ne villogjon
			dynamicContent_ajaxObjects[ajaxIndex] = new sack();
			
			if(url.indexOf('?')>=0){
				dynamicContent_ajaxObjects[ajaxIndex].method='GET';
				var string = url.substring(url.indexOf('?'));
				url = url.replace(string,'');
				string = string.replace('?','');
				var items = string.split(/&/g);
				for(var no=0;no<items.length;no++){
					var tokens = items[no].split('=');
					if(tokens.length==2){
						dynamicContent_ajaxObjects[ajaxIndex].setVar(tokens[0],tokens[1]);
					}	
				}	
				url = url.replace(string,'');
			}

			
			dynamicContent_ajaxObjects[ajaxIndex].requestFile = url;	// Specifying which file to get
			dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,url,callbackOnComplete); };	// Specify function that will be executed after file has been found
			dynamicContent_ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function
			
			 if(param=="del"){
				 if((formneve.addtext.value)*1==0){
					window.location.reload();
				 }
			 }
			 if(param=="del_all"){
					window.location.reload();
			 }
	}
	

}



function ajax_loadContent_color(divId,var1,var2,var3,url,callbackOnComplete)
{
		if(var3==0){
			alert('Adjon meg egy darabszámot!');
			return false;
		}
		//var3 az input mező értéke 
		var var3Regex = /^\d{1,}$/;

		if(!var3.match(var3Regex)){
			alert('Csak számot adjon meg!');
			//alert(var1);
			return false;
		}


		if(var2=="1"){
			document.getElementById(var1).style.backgroundColor = "#e6efff";
		}else{
			document.getElementById(var1).style.backgroundColor = "#e3e8ff";
		}
		document.getElementById('basket_option').style.display = "block";
	

	if(enableCache && jsCache[url]){
		document.getElementById(divId).innerHTML = jsCache[url];
		ajax_parseJs(document.getElementById(divId))
		evaluateCss(document.getElementById(divId))
		if(callbackOnComplete) {
			executeCallback(callbackOnComplete);
		}		
		return;
	}
	
	var ajaxIndex = dynamicContent_ajaxObjects.length;
	//document.getElementById(divId).innerHTML = 'Loading content - please wait';    //kikapcsoltam, hogy ne villogjon
	dynamicContent_ajaxObjects[ajaxIndex] = new sack();
	
	if(url.indexOf('?')>=0){
		dynamicContent_ajaxObjects[ajaxIndex].method='GET';
		var string = url.substring(url.indexOf('?'));
		url = url.replace(string,'');
		string = string.replace('?','');
		var items = string.split(/&/g);
		for(var no=0;no<items.length;no++){
			var tokens = items[no].split('=');
			if(tokens.length==2){
				dynamicContent_ajaxObjects[ajaxIndex].setVar(tokens[0],tokens[1]);
			}	
		}	
		url = url.replace(string,'');
	}

	
	dynamicContent_ajaxObjects[ajaxIndex].requestFile = url;	// Specifying which file to get
	dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,url,callbackOnComplete); };	// Specify function that will be executed after file has been found
	dynamicContent_ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function	
	
	
}



function ajax_basket(divId,url,callbackOnComplete,divValtoztat)
{
	if(enableCache && jsCache[url]){
		document.getElementById(divId).innerHTML = jsCache[url];
		ajax_parseJs(document.getElementById(divId))
		evaluateCss(document.getElementById(divId))
		if(callbackOnComplete) {
			executeCallback(callbackOnComplete);
		}		
		return;
	}
	
	var ajaxIndex = dynamicContent_ajaxObjects.length;
	//document.getElementById(divId).innerHTML = 'Loading content - please wait';    //kikapcsoltam, hogy ne villogjon
	dynamicContent_ajaxObjects[ajaxIndex] = new sack();
	
	if(url.indexOf('?')>=0){
		dynamicContent_ajaxObjects[ajaxIndex].method='GET';
		var string = url.substring(url.indexOf('?'));
		url = url.replace(string,'');
		string = string.replace('?','');
		var items = string.split(/&/g);
		for(var no=0;no<items.length;no++){
			var tokens = items[no].split('=');
			if(tokens.length==2){
				dynamicContent_ajaxObjects[ajaxIndex].setVar(tokens[0],tokens[1]);
			}	
		}	
		url = url.replace(string,'');
	}

	
	dynamicContent_ajaxObjects[ajaxIndex].requestFile = url;	// Specifying which file to get
	dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,url,callbackOnComplete); };	// Specify function that will be executed after file has been found
	dynamicContent_ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function	
	
	 elem = document.getElementById(divValtoztat);
		elem.style.color = red;
}



function ajax_parseJs(obj)
{
	var scriptTags = obj.getElementsByTagName('SCRIPT');
	var string = '';
	var jsCode = '';
	for(var no=0;no<scriptTags.length;no++){	
		if(scriptTags[no].src){
	        var head = document.getElementsByTagName("head")[0];
	        var scriptObj = document.createElement("script");
	
	        scriptObj.setAttribute("type", "text/javascript");
	        scriptObj.setAttribute("src", scriptTags[no].src);  	
		}else{
			if(navigator.userAgent.toLowerCase().indexOf('opera')>=0){
				jsCode = jsCode + scriptTags[no].text + '\n';
			}
			else
				jsCode = jsCode + scriptTags[no].innerHTML;	
		}
		
	}

	if(jsCode)ajax_installScript(jsCode);
}


function ajax_installScript(script)
{		
    if (!script)
        return;		
    if (window.execScript){        	
    	window.execScript(script)
    }else if(window.jQuery && jQuery.browser.safari){ // safari detection in jQuery
        window.setTimeout(script,0);
    }else{        	
        window.setTimeout( script, 0 );
    } 
}	
	
	
function evaluateCss(obj)
{
	var cssTags = obj.getElementsByTagName('STYLE');
	var head = document.getElementsByTagName('HEAD')[0];
	for(var no=0;no<cssTags.length;no++){
		head.appendChild(cssTags[no]);
	}	
}
