function ajaxFunction(evt, pageToOpen, frmToCollect, targetElmnt, waitMsg, pageToOpenAfter, frmToCollectAfter, targetElmntAfter, waitMsgAfter){
	var ajaxRequest;  // The variable that makes Ajax possible!
	var params;
	
	
	params="";
	if(undefined != frmToCollect & "" != frmToCollect) {
		for(i=0; i<document.getElementById(frmToCollect).elements.length; i++)
		{
			if(params.length==0) {
				if(document.getElementById(frmToCollect).elements[i].type=='radio') {
					if(document.getElementById(frmToCollect).elements[i].checked) {
						params = document.getElementById(frmToCollect).elements[i].name + "=" + encodeURIComponent(document.getElementById(frmToCollect).elements[i].value);
					}
				} else {
					params = document.getElementById(frmToCollect).elements[i].name + "=" + encodeURIComponent(document.getElementById(frmToCollect).elements[i].value);
				}
			} else {
				if(document.getElementById(frmToCollect).elements[i].type=='radio') {
					if(document.getElementById(frmToCollect).elements[i].checked) {
						params = params + "&" + document.getElementById(frmToCollect).elements[i].name + "=" + encodeURIComponent(document.getElementById(frmToCollect).elements[i].value);
					}
				} else {
					params = params + "&" + document.getElementById(frmToCollect).elements[i].name + "=" + encodeURIComponent(document.getElementById(frmToCollect).elements[i].value);
				}
			}
		}
	}

	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;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			document.getElementById(targetElmnt).innerHTML="";
			document.getElementById(targetElmnt).innerHTML = ajaxRequest.responseText;
			
			if(pageToOpenAfter!='') {
				ajaxFunction(evt, pageToOpenAfter, frmToCollectAfter, targetElmntAfter,waitMsgAfter,'','','','')
			} else {
			
				if(targetElmnt=='dvDialogBox') {
					showDvDialogBox(evt);
					var sel=document.getElementsByTagName("SELECT");
					for(i=0;i<sel.length;i++){ 
						sel[i].style.visibility="visible"; 
					} 
				} else {
					hideDvDialogBox();
					grayOut(false);
					
					produziCeliju(evt);
				}
			}
		} else if(ajaxRequest.readyState == 1) {
			document.getElementById('dvDialogBox').innerHTML="<img src='loading.gif' border='0'><span style='font-family:Tahoma; font-size:11px; font-weight:bold; padding-left:12px;'>"+waitMsg+"</span>";
			showDvDialogBox(evt);
			document.getElementById(targetElmnt).height=411;
		}
	}
	
	ajaxRequest.open("POST", pageToOpen , true);
	ajaxRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	
	
	if(params.length>0) {
		ajaxRequest.send(params);
	} else {	
		ajaxRequest.send(null); 
	}
}
function smanjiSlike() {
	var sl=document.getElementsByName("productImage");
	for(i=0;i<sl.length;i++){ 
		if(sl[i].width>90) {
			sl[i].width=90;
		} 
	}
}
function produziCeliju(e) {
	var y;
	y=document.getElementById('contentCell').clientHeight;
	if(y>0) {
		document.getElementById('controlCell').height=200;
		document.getElementById('controlCell').height=y-572;
	}
}
function grayOut(vis, options) {
 // Pass true to gray out screen, false to ungray
  // options are optional.  This is a JSON object with the following (optional) properties
  // opacity:0-100         // Lower number = less grayout higher = more of a blackout 
  // zindex: #             // HTML elements with a higher zindex appear on top of the gray out
  // bgcolor: (#xxxxxx)    // Standard RGB Hex color code
  // grayOut(true, {'zindex':'50', 'bgcolor':'#0000FF', 'opacity':'70'});
  // Because options is JSON opacity/zindex/bgcolor are all optional and can appear
  // in any order.  Pass only the properties you need to set.
  var options = options || {}; 
  var zindex = options.zindex || 50;
  var opacity = options.opacity || 70;
  var opaque = (opacity / 100);
  var bgcolor = options.bgcolor || '#000000';
  var dark=document.getElementById('darkenScreenObject');
  if (!dark) {
    // The dark layer doesn't exist, it's never been created.  So we'll
    // create it here and apply some basic styles.
    // If you are getting errors in IE see: http://support.microsoft.com/default.aspx/kb/927917
    var tbody = document.getElementsByTagName("body")[0];
    var tnode = document.createElement('div');           // Create the layer.
        tnode.style.position='absolute';                 // Position absolutely
        tnode.style.top='0px';                           // In the top
        tnode.style.left='0px';                          // Left corner of the page
        tnode.style.overflow='hidden';                   // Try to avoid making scroll bars            
        tnode.style.display='none';                      // Start out Hidden
        tnode.id='darkenScreenObject';                   // Name it so we can find it later
    tbody.appendChild(tnode);                            // Add it to the web page
    dark=document.getElementById('darkenScreenObject');  // Get the object.
  }
  var sel=document.getElementsByTagName("SELECT");
  if (vis) {
    // Calculate the page width and height 
    if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) {
        var pageWidth = document.body.scrollWidth+'px';
        var pageHeight = document.body.scrollHeight+'px';
    } else if( document.body.offsetWidth ) {
      var pageWidth = document.body.offsetWidth+'px';
      var pageHeight = document.body.offsetHeight+'px';
    } else {
       var pageWidth='100%';
       var pageHeight='100%';
    }   
    //set the shader to cover the entire page and make it visible.
    dark.style.opacity=opaque;                      
    dark.style.MozOpacity=opaque;                   
    dark.style.filter='alpha(opacity='+opacity+')'; 
    dark.style.zIndex=zindex;        
    dark.style.backgroundColor=bgcolor;  
    dark.style.width= pageWidth;
    dark.style.height= pageHeight;
    dark.style.display='block'; 
    for(i=0;i<sel.length;i++){ 
		sel[i].style.visibility="hidden"; 
    }                        
  } else {
	dark.style.display='none';

	for(i=0;i<sel.length;i++){ 
		sel[i].style.visibility="visible"; 
	}  
  }
}

function showDvDialogBox(e) {
	var y;
	
	if (self.innerHeight) {
		// all except Explorer
		x = (self.innerWidth)/2 + self.pageXOffset - document.getElementById('dvDialogBox').offsetWidth/2;
		y = (self.innerHeight)/2 + self.pageYOffset - document.getElementById('dvDialogBox').offsetHeight/2;
	} else if (document.documentElement && document.documentElement.clientHeight) {
		// Explorer 6 Strict
		x = (document.documentElement.clientWidth)/2 - document.getElementById('dvDialogBox').offsetWidth/2;
		y = (document.documentElement.clientHeight)/2 + document.documentElement.scrollTop - document.getElementById('dvDialogBox').offsetHeight/2;
	} else if (document.body) {
		// all other Explorers
		x = (document.body.clientWidth)/2 - document.getElementById('dvDialogBox').offsetWidth/2;
		y = (document.body.clientHeight)/2 + document.body.scrollTop - document.getElementById('dvDialogBox').offsetHeight/2;
	}
	
	if(y<5) {y=5;}
	
	document.getElementById('dvDialogBox').style.top=y;
	document.getElementById('dvDialogBox').style.left=x;
	document.getElementById('dvDialogBox').style.visibility="visible";

}
function hideDvDialogBox() {
	document.getElementById('dvDialogBox').style.visibility="hidden";
	document.getElementById('dvDialogBox').style.width='400px';
	document.getElementById('dvDialogBox').style.padding='10px';
	
	openPage('includes/right_cart.php', '', 'rightcart', '');
}
function showImage(obj,objId,img) {
	obj.form.submit();
	
	/*path = 'file:/'+ img;
	path = path.replace(/\\/, '/'); // Fix Windows paths
	document.getElementById(obj).src=path;
	document.getElementById(obj).style.display='block';*/

}
function switchValue(obj,val1,val2) {
	if(obj.value==val1) {
		obj.value=val2;
	} else {
		obj.value=val1;
	}
}
function sendMessage(to,sub,mes,efor,snd,uid,counter) {
	if(counter!='0') {
		document.getElementById('counter').innerHTML=counter;
		document.getElementById('sendProgress').innerHTML=to+"\n"+document.getElementById('sendProgress').innerHTML;
		
		document.getElementById('email_to').value=to;
		document.getElementById('email_format').value=efor;
		document.getElementById('email_subject').value=sub;
		document.getElementById('email_message').value=mes;
		document.getElementById('email_sender').value=snd;
		document.getElementById('email_user_id').value=uid;
		
		ajaxSendMail(window.event, 'actions/announcements_send.php', 'frmSendData', 'hiddenLayer')
		
	} else {
		document.getElementById('sendProgress').innerHTML=to+"\r\n------------------------------------\r\n"+document.getElementById('sendProgress').innerHTML;
	}
}
function announcements(e_to,e_format,e_subject,e_message,e_sender,e_user_id) {
	e_to_arr=e_to.split(";");
	e_format_arr=e_format.split(";");
	e_user_id_arr=e_user_id.split(";");
	
	document.getElementById('dvMiddleBox').innerHTML="<div style='padding:2px; text-align:center;'>Å aljem email <span id='counter'></span> od " + (e_to_arr.length-1) + "</div>";
	document.getElementById('dvMiddleBox').innerHTML+="<p><textarea id='sendProgress' class='input_field' style='width:390px; height:160px'></textarea>";

	document.getElementById('msgButtons').innerHTML="<label class='button' onMouseOver=\"this.className='button_over';\" onMouseOut=\"this.className='button';\" onClick=\"hideDvDialogBox(); grayOut(false);\">Zatvori</label>";

	document.getElementById('dvDialogBox').innerHTML+="<div id='hiddenLayer' style='position:absolute; visibility:hidden;'></div>";
	document.getElementById('dvDialogBox').innerHTML+="<form id='frmSendData'><input type='hidden' name='email_to' id='email_to'><input type='hidden' name='email_format' id='email_format'><input type='hidden' name='email_subject' id='email_subject'><input type='hidden' name='email_message' id='email_message'><input type='hidden' name='email_sender' id='email_sender'><input type='hidden' name='email_user_id' id='email_user_id'></form>";
	
	for(i=0;i<e_to_arr.length;i++) {
		if(i<(e_to_arr.length-1)) {
			setTimeout("sendMessage('"+e_to_arr[i]+"','"+e_subject+"','"+e_message+"','"+e_format_arr[i]+"','"+e_sender+"','"+e_user_id_arr[i]+"','"+(i+1)+"')",i*500);
		} else {
			setTimeout("sendMessage('Poruke su uspeÅ¡no poslate','','','','','','0')",i*500);
		}
	}
}
function ajaxSendMail(evt, pageToOpen, frmToCollect, targetElmnt){
	var ajaxRequest;  // The variable that makes Ajax possible!
	var params;
	
	
	params="";
	if(undefined != frmToCollect & "" != frmToCollect) {
		for(i=0; i<document.getElementById(frmToCollect).elements.length; i++)
		{
			if(params.length==0) {
				if(document.getElementById(frmToCollect).elements[i].type=='radio') {
					if(document.getElementById(frmToCollect).elements[i].checked) {
						params = document.getElementById(frmToCollect).elements[i].name + "=" + encodeURIComponent(document.getElementById(frmToCollect).elements[i].value);
					}
				} else {
					params = document.getElementById(frmToCollect).elements[i].name + "=" + encodeURIComponent(document.getElementById(frmToCollect).elements[i].value);
				}
			} else {
				if(document.getElementById(frmToCollect).elements[i].type=='radio') {
					if(document.getElementById(frmToCollect).elements[i].checked) {
						params = params + "&" + document.getElementById(frmToCollect).elements[i].name + "=" + encodeURIComponent(document.getElementById(frmToCollect).elements[i].value);
					}
				} else {
					params = params + "&" + document.getElementById(frmToCollect).elements[i].name + "=" + encodeURIComponent(document.getElementById(frmToCollect).elements[i].value);
				}
			}
		}
	}

	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;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			document.getElementById(targetElmnt).innerHTML="";
			document.getElementById(targetElmnt).innerHTML = ajaxRequest.responseText;
		} else if(ajaxRequest.readyState == 1) {

		}
	}
	
	ajaxRequest.open("POST", pageToOpen , true);
	ajaxRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	
	
	if(params.length>0) {
		ajaxRequest.send(params);
	} else {	
		ajaxRequest.send(null); 
	}
}
function calculate_sum1 (quant,price,d_price,quant_disc,quant_disc_price) {
	if(d_price>0) {
		sum=quant*d_price;
	} else if(quant_disc>0) {
		if(quant>=quant_disc) {
			sum=quant*quant_disc_price;
		} else {
			sum=quant*price;
		}
	} else {
		sum=quant*price;
	}
	
	sum=sum.toFixed(2);
	document.getElementById('ukupno1').innerHTML=sum.toString() + " Din";
}
function ajaxFunction2(evt, pageToOpen, frmToCollect, targetElmnt, waitMsg){
	var ajaxRequest;  // The variable that makes Ajax possible!
	var params;
	
	
	params="";
	if(undefined != frmToCollect & "" != frmToCollect) {
		for(i=0; i<document.getElementById(frmToCollect).elements.length; i++)
		{
			if(params.length==0) {
				if(document.getElementById(frmToCollect).elements[i].type=='radio') {
					if(document.getElementById(frmToCollect).elements[i].checked) {
						params = document.getElementById(frmToCollect).elements[i].name + "=" + encodeURIComponent(document.getElementById(frmToCollect).elements[i].value);
					}
				} else {
					params = document.getElementById(frmToCollect).elements[i].name + "=" + encodeURIComponent(document.getElementById(frmToCollect).elements[i].value);
				}
			} else {
				if(document.getElementById(frmToCollect).elements[i].type=='radio') {
					if(document.getElementById(frmToCollect).elements[i].checked) {
						params = params + "&" + document.getElementById(frmToCollect).elements[i].name + "=" + encodeURIComponent(document.getElementById(frmToCollect).elements[i].value);
					}
				} else {
					params = params + "&" + document.getElementById(frmToCollect).elements[i].name + "=" + encodeURIComponent(document.getElementById(frmToCollect).elements[i].value);
				}
			}
		}
	}

	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;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			document.getElementById(targetElmnt).innerHTML="";
			document.getElementById(targetElmnt).innerHTML = ajaxRequest.responseText;
		} else if(ajaxRequest.readyState == 1) {
			document.getElementById(targetElmnt).innerHTML=waitMsg;
		}
	}
	
	ajaxRequest.open("POST", pageToOpen , true);
	ajaxRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	
	
	if(params.length>0) {
		ajaxRequest.send(params);
	} else {	
		ajaxRequest.send(null); 
	}
}
function checkInput(frmId) {
	var ret=true;
	for(i=0; i<document.getElementById(frmId).elements.length; i++) {
		if (document.getElementById(frmId).elements[i].value=='') {
			ret=false;
		}
	}
	return ret;
}
function ocenaOver(ocena) {
	document.getElementById('starsLayer').style.backgroundPosition="0px -"+(ocena*48)+"px";
	document.getElementById('starsLayer').style.opacity=ocena;
	document.getElementById('voteComment').innerHTML="Upiši ocenu: <b>"+ocena+"</b>";
}
function ocenaOut(ocena) {
	document.getElementById('starsLayer').style.backgroundPosition="0px -"+(ocena*48)+"px";
	document.getElementById('starsLayer').style.opacity=.5;
	document.getElementById('voteComment').innerHTML="&nbsp;";
}
function upisiOcenu(pid,ocena) {
	var ajaxRequest;  // The variable that makes Ajax possible!
	var params;

	params="product_id="+pid+"&ocena="+ocena;

	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;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			document.getElementById('oceneLayer').innerHTML="";
			document.getElementById('oceneLayer').innerHTML = ajaxRequest.responseText;
		} else if(ajaxRequest.readyState == 1) {
			document.getElementById('voteComment').innerHTML="<img src='loading.gif' border='0'><span style='font-family:Tahoma; font-size:11px; font-weight:bold; padding-left:12px;'>Upisujem ocenu ...</span>";
		}
	}
	
	ajaxRequest.open("POST", "includes/productvote.php" , true);
	ajaxRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

	ajaxRequest.send(params);
}
function prikazi()
{
	document.getElementById('komentari').style.display="block";
}
function disableSelection(target){
if (typeof target.onselectstart!="undefined") //IE route
	target.onselectstart=function(){return false}
else if (typeof target.style.MozUserSelect!="undefined") //Firefox route
	target.style.MozUserSelect="none"
else //All other route (ie: Opera)
	target.onmousedown=function(){return false}
target.style.cursor = "default"
}
function openPage(pageToOpen, frmToCollect, targetElmnt, waitMsg){
	var ajaxRequest;  // The variable that makes Ajax possible!
	var params;
	
	params="";
	if(undefined != frmToCollect & "" != frmToCollect) {
		for(i=0; i<document.getElementById(frmToCollect).elements.length; i++)
		{
			if(params.length==0) {
				if(document.getElementById(frmToCollect).elements[i].type=='radio') {
					if(document.getElementById(frmToCollect).elements[i].checked) {
						params = document.getElementById(frmToCollect).elements[i].name + "=" + encodeURIComponent(document.getElementById(frmToCollect).elements[i].value);
					}
				} else {
					params = document.getElementById(frmToCollect).elements[i].name + "=" + encodeURIComponent(document.getElementById(frmToCollect).elements[i].value);
				}
			} else {
				if(document.getElementById(frmToCollect).elements[i].type=='radio') {
					if(document.getElementById(frmToCollect).elements[i].checked) {
						params = params + "&" + document.getElementById(frmToCollect).elements[i].name + "=" + encodeURIComponent(document.getElementById(frmToCollect).elements[i].value);
					}
				} else {
					params = params + "&" + document.getElementById(frmToCollect).elements[i].name + "=" + encodeURIComponent(document.getElementById(frmToCollect).elements[i].value);
				}
			}
		}
	}

	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;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			document.getElementById(targetElmnt).innerHTML="";
			document.getElementById(targetElmnt).innerHTML = ajaxRequest.responseText;
			
			var ob = document.getElementsByTagName("script");
			for(var i=0; i<ob.length-1; i++){
				if(ob[i+1].text!=null) eval(ob[i+1].text);
			}
		} else if(ajaxRequest.readyState == 1) {
			document.getElementById(targetElmnt).innerHTML="<img src='loading.gif' border='0'><span style='font-family:Tahoma; font-size:11px; font-weight:bold; padding-left:12px;'>"+waitMsg+"</span>";
		}
	}
	
	ajaxRequest.open("POST", pageToOpen , true);
	ajaxRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	
	
	if(params.length>0) {
		ajaxRequest.send(params);
	} else {	
		ajaxRequest.send(null); 
	}
}
function submitML() {
	var email=document.getElementById('ml_email').value;
			
	//provera validnosti email adrese    
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	if (email.search(emailRegEx) == -1) {
		greska="E-mail adresa nije validna!"
		jAlert(greska,'Mailing lista',function() {document.getElementById('ml_email').focus();});
	} else {
		//provera da li je email zauzet
		params="email="+email;
					
		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;
				}
			}
		}
				
		// Create a function that will receive data sent from the server
		ajaxRequest.onreadystatechange = function(){
			if(ajaxRequest.readyState == 4){
				if(email!='') {
					email_free=ajaxRequest.responseText;
				
					if(email_free!='free') {
						greska=email_free;
						jAlert(greska,'Mailing lista',function() {document.getElementById('ml_email').focus();});
					} else {
						openPage('includes/mailing_list_submit.php', 'frmML', 'MLcontainer', 'Sačekajte trenutak');
					}
				} else {
					greska="<br />Niste upisali e-mail adresu!"
					jAlert(greska,'Mailing lista');
				}
							
			} else if(ajaxRequest.readyState == 1) {
						document.getElementById('check_email').innerHTML="";
			}
		}
					
		ajaxRequest.open("POST", "includes/ajax/check_email_mailing_list.php" , true);
		ajaxRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
					
		ajaxRequest.send(params);
	}
}
