function showModal(elementW,elementH,elementID,controllerID,titleID,contentID,titleHTML,contentHTML) {
	hideModal(elementID);
	Drag.init(findElement(controllerID),findElement(elementID));	
	findElement(titleID).innerHTML=titleHTML;
	findElement(contentID).innerHTML=contentHTML;
	showElement(elementID);	
	var elementPos=calculateCenterPos();
	centerElement(elementID,elementW,elementH);
	if (typeof(window.onresize) == 'function') {oldonresize = window.onresize; window.onresize=function() {oldonresize(); centerElement(elementID,elementW,elementH);}} else {window.onresize=function() {centerElement(elementID,elementW,elementH);}}
	if (typeof(window.onscroll) == 'function') {oldonscroll = window.onscroll;window.onscroll=function() {oldonscroll(); centerElement(elementID,elementW,elementH,1);}} else {window.onscroll=function() {centerElement(elementID,elementW,elementH,1);}}	
}
function hideModal(elementID) {
	hideElement(elementID);	
	if (typeof(window.oldonresize) == 'function') {window.onresize=window.oldonresize;}
	if (typeof(window.oldonscroll) == 'function') {window.onscroll=window.oldonscroll;}	
}
function showRespondWindow(titleHTML,contentHTML) {
	showModal(300,240,'respondContainer','respondControls','respondTitle','respondContent',titleHTML,contentHTML);
}



function lockPage(message) {
	var psize = getPageSizeWithScroll();
	if (findElement('pageLockContainer')) {	
		if (psize[1]>0) {
			//findElement('pageLockContainer').style.width=findElement('pageLockBg').style.width=psize[0]+"px";
			findElement('pageLockContainer').style.height=psize[1]+"px";
			findElement('pageLockBg').style.height=psize[1]+"px";
			centerElement('pageLockMessage',500,100,1);
		}
		var selects=document.getElementsByTagName('SELECT');
		if(selects.length>0) {for (i=0; i<selects.length; i++) {selects[i].style.visibility='hidden';}}		
		findElement('pageLockContainer').style.display='block';
		findElement('pageLockMessage').innerHTML = message;		
	}
}
function unlockPage() {
	if (window.lockPageInterval!=null && window.lockPageInterval!='undefined') {clearInterval(window.lockPageInterval);}
	if (findElement('pageLockContainer')) {
		findElement('pageLockContainer').style.display='none';
		findElement('pageLockMessage').innerHTML = '';
	}
	var selects=document.getElementsByTagName('SELECT');
	if(selects.length>0) {for (i=0; i<selects.length; i++) {selects[i].style.visibility='visible';}}
	
}

function findElement(elementID) {
  var elem;
  if(document.getElementById) {// DOM
    elem = document.getElementById(elementID);
  } else if(document.all) { // old MSIE
      elem = document.all[elementID];
  } else if(document.layers) { // NN4
    elem = document.layers[elementID];
  } else {
  	elem = null;
  }
  return elem;
}
function findObj(elementID) {
  return findElement(elementID);
}
function showElement(elementID) {
	if(findElement(elementID)!=null) {findElement(elementID).style.display='block';}
}
function hideElement(elementID) {
	if(findElement(elementID)!=null) {findElement(elementID).style.display='none';}
}


function typePhoneNum(evt){
	var charCode = (evt.which) ? evt.which : event.keyCode; 
	if (charCode > 32 && (charCode < 46 || charCode > 57))	{return false;}
	else {return true;}
}
function typePositiveInteger(evt){
	var charCode = (evt.which) ? evt.which : event.keyCode; 
	if (charCode!=8 && charCode!=13 && charCode!=127 && (charCode < 48 || charCode > 57))	{return false;}
	else {return true;}
}

function getTotalFin(obj_prefix, container) {
	if (container=="undefined" || container==null || !findElement(container)) {container=document;} else {container=findElement(container);}
	var total_fin_val = 0;
	var spans = container.getElementsByTagName('SPAN');
	var inputs = container.getElementsByTagName('INPUT');
	var remove_checkboxes=new Array();
	//in noul tabel de cos avem mai multe spanuri, deci tre sa le luam in array doar pe cele bune...
	var goodspans = new Array();
	for (i=0; i<spans.length; i++) {
		if (spans[i].id.indexOf(obj_prefix)==0) {goodspans.push(spans[i]);}
	}
	
	for (i=0; i<inputs.length; i++) {
		if (inputs[i].type=='checkbox' && inputs[i].id.substring(0,12)=='remove_item_') {remove_checkboxes.push(inputs[i]);}
	}
	for (i=0; i<goodspans.length; i++) {
		if (remove_checkboxes[i].checked!=true ) {total_fin_val+=parseFloat(goodspans[i].innerHTML);}
	}
	
	
	return total_fin_val.toFixed(2);
}

function getDiscountAmmount(price, discount) {
	var nAmmount = (-1)*parseFloat(price)*parseFloat(discount)/100;	
	return nAmmount;	
}

function getActualPrice(price, discount) {
	var nAmmount = parseFloat(price)-parseFloat(price)*parseFloat(discount)/100;	
	return nAmmount;	
}


function generateACode(nrchars) {
	var possible_characters = "abcdefghijklmnopqrstuvwxyz1234567890";
		
	var maxValue = 35;
	var string = "";
	for (i=0; i<nrchars; i++) {
		retValue = Math.round(Math.random()*(maxValue-1));
		string = String.concat(string, possible_characters.substr(retValue,1));
	}
	return string;		
}


//
function checkIfContentLoaded(cVarName,elementID,url,pars) {
	var cVarValue = eval(cVarName);	
	if(cVarValue=="yes" && elementContainerID==null) {getElementContent(elementID,url,pars);}	
}
function getElementContent(elementID,url,pars) {
  var xhr = createXMLHttpRequest();
  findElement(elementID).innerHTML = '<img src="../_images/spacer.gif" border="0" class="loader" />';
  //findElement(elementID).innerHTML = 'se cauta...';
  xhr.onreadystatechange = function() {  	
    if (xhr.readyState==4) { // Request finished
	  findElement(elementID).innerHTML = '';
      if (xhr.status==200) {
	  	/*var str_inner_html = findElement(elementID).innerHTML;
        str_inner_html += xhr.responseText;	
		str_inner_html = removeCRLF(str_inner_html);
		str_inner_html = replaceWideWithBasicASCII(str_inner_html);
		findElement(elementID).innerHTML = str_inner_html;*/
		findElement(elementID).innerHTML = xhr.responseText;
      } else {
        alert("Message returned, but with error status.");
      }
    }
  }
  xhr.open("get", url+'&'+pars, true);
  xhr.send(null);
}
function createXMLHttpRequest() {
  try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
  try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
  try { return new XMLHttpRequest(); } catch(e) {}
  alert("XMLHttpRequest not supported");
  return null;
}

function removeCRLF(str) {	
	if (BrowserDetect.browser=="Explorer") {
		str=str.replace(/\r\n/gi, "");
		str=str.replace(/\n/gi, "");
	}
	return str;
}

function checkFileType(form,filefield,allowed) {
  var file = document.forms[form][filefield].value;
  var fileparts = file.split(".");
  var ext = fileparts[fileparts.length-1];
  ext = ext.toLowerCase();
  var allowed_ext = allowed.split("|");
  Array.prototype.hasElement = function(s){ 
    return new RegExp('(^|\,)'+s+'(\,|$)','gi').test(this);
  } 
  if(!allowed_ext.hasElement(ext)) {
  	document.forms[form][filefield].value='';
    alert('Nu sunt permise decat fisierele tip '+ allowed_ext.join(", ") +'.');
    return false;
  } else return true; 
}


function replaceWideWithBasicASCII(str) { 
		str=str.replace(/／/gi, "/");
		str=str.replace(/﹡/gi, "*");
		//str=str.replace(/”/gi, "\"");
		//str=str.replace(/΄/gi, "'");
		str=str.replace(/％/gi, "%");
		str=str.replace(/＆/gi, "&");
		str=str.replace(/＋/gi, "+");
		str=str.replace(/＼/gi, "\\");
		str=str.replace(/＄/gi, "$");
		str=str.replace(/＜/gi, "<");
		str=str.replace(/＞/gi, ">");
		str=str.replace(/＝/gi, "=");
		str=str.replace(/？/gi, "?");
		str=str.replace(/＃/gi, "#");
		str=str.replace(/？/gi, "?");	
		str=str.replace(/＂/gi, "”");	
		str=str.replace(/＇/gi, "΄");
	return str;
}



function slideshow(start,last,interval) {  
   var frame = start;  
   var nextframe = start+1;  
   Effect.Appear('promo1',{duration:.5,from:0.0,to:1.0});  
     setInterval(function() {  
     Effect.Fade('promo'+frame,{duration:.5,from:1.0,to:0.0,afterFinish:function(){  
     $('promo'+frame).hide();  
     Effect.Appear('promo'+nextframe,{duration:.5,from:0.0,to:1.0});  
     frame = nextframe;  
     nextframe = (frame == last) ? start : nextframe+1;  
     }});  
  },interval);  
  return;  
};  


function check_google_position(index, keyword, time) {
	getElementContent('result_'+index,'ajax-check-kw','index='+index+'&amp;time='+time)
}

function checkUncheckAll(theElement) {
     var theForm = theElement.form, z = 0;
	 var theName = '';
	 for(z=0; z<theForm.length;z++){
      if(theForm[z].type == 'checkbox' && theForm[z].name != 'checkall'){
		  theForm[z].checked = theElement.checked;
		  //incercam sa schimbam clasa liniei pe care se afla checkbox-ul...
		  theName = theForm[z].name;
		  theName = theName.replace('country_','country_row_');
		  if(theForm[z].checked==true) {
			findElement(theName).className='alt_row';
		  } else {
		  	findElement(theName).className='';
		  }
	  }
    }
	getSelRowsNo(theElement);
}

function getSelRowsNo(theElement) {
     var theForm = theElement.form;
	 var z = 0;
	 var i = 0;
	 for(z=0; z<theForm.length;z++){
	 	if(theForm[z].type == 'checkbox' && theForm[z].name != 'checkall'){
	 		if(theForm[z].checked==true) { i = i + 1; }
		}
	 }
	 var el = findObj('containerSelRows');
	 if (i>0) {
	 	el.innerHTML = 'Tari selectate: <b>'+i+'</b>';
	 } else {
	 	el.innerHTML = 'Nici o tara selectata!';
	 }
}

