function fnDate(frm, lstyear, lstmonth, lstday, msg){
	mnth=document[eval("frm")][eval("lstmonth")].value;
	day=document[eval("frm")][eval("lstday")].value;
	yr=document[eval("frm")][eval("lstyear")].value;
	if(mnth=="-1" || day=="-1" || yr=="-1"){
		if(yr=="-1" || (mnth=="-1" && day=="-1" && yr=="-1")) document[eval("frm")][eval("lstyear")].focus();
		else if(mnth=="-1") document[eval("frm")][eval("lstmonth")].focus();
		else if(day=="-1") document[eval("frm")][eval("lstday")].focus();
		return false;
	}
	return true;
}
function fnDays(frm, lstyear, lstmonth, lstday){
	year=document[eval("frm")][eval("lstyear")].value;
	month=Number(document[eval("frm")][eval("lstmonth")].value);
	document[eval("frm")][eval("lstday")].length=0;
	document[eval("frm")][eval("lstday")].options[0]=new Option("DD", "-1");
	//---INSERT 1 - 31 IN LSTDAYS--------
	if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12){
		for(i=1; i<=31; i++){
			dd=i;
			if(dd<10) dd="0" + dd;
			document[eval("frm")][eval("lstday")].options[i]=new Option(dd, dd);
		}
	}//-----------
	//---INSERT 1 - 30 IN LSTDAYS--------
	if(month==4 || month==6 || month==9 || month==11){
		for(i=1; i<=30; i++){
			dd=i;
			if(dd<10) dd="0" + dd;
			document[eval("frm")][eval("lstday")].options[i]=new Option(dd, dd);
		}
	}//-----------
	//---INSERT 1 - 30 IN LSTDAYS--------
	if(month==2){
		if(year%4==0 || year%400==0){//-------LEAP YEAR-----
			for(i=1; i<=29; i++){
				dd=i;
				if(dd<10) dd="0" + dd;
				document[eval("frm")][eval("lstday")].options[i]=new Option(dd, dd);
			}
		}
		else{
			for(i=1; i<=28; i++){
				dd=i;
				if(dd<10) dd="0" + dd;
				document[eval("frm")][eval("lstday")].options[i]=new Option(dd, dd);
			}
		}
	}//-----------
}
function fnYear(frm, lstyear, lstmonth, lstday){
	mnth=document[eval("frm")][eval("lstmonth")].value;
	day=document[eval("frm")][eval("lstday")].value;
	yr=document[eval("frm")][eval("lstyear")].value;
	if(yr=="-1"){
		alert("Please select the Year first.");
		document[eval("frm")][eval("lstyear")].focus();
		return false;
	}	
}
function fnInitialize(frm, lstyear, lstmonth, lstday){
	//-------INSERT VALUES IN LISTS-----
	dat = new Date();
	year=dat.getFullYear();
	var i;
	//-----INSERT VALUES OF YEAR IN LSTYEAR----
	j=1;
	for(i=year; i>=year-100; i--){
		document[eval("frm")][eval("lstyear")].options[j]=new Option(i, i);
		j++;
	}//---------------
	j=1;
	for(i=1; i<=31; i++){
		document[eval("frm")][eval("lstday")].options[j]=new Option(i, i);
		j++;
	}
	//------INSERT VALUES OF MONTH IN LSTMONTH------
	document[eval("frm")][eval("lstmonth")].options[1]=new Option("Janvier", "01");
	document[eval("frm")][eval("lstmonth")].options[2]=new Option("Fevrier", "02");
	document[eval("frm")][eval("lstmonth")].options[3]=new Option("Mars", "03");
	document[eval("frm")][eval("lstmonth")].options[4]=new Option("Avril", "04");
	document[eval("frm")][eval("lstmonth")].options[5]=new Option("Mai", "05");
	document[eval("frm")][eval("lstmonth")].options[6]=new Option("Juin", "06");
	document[eval("frm")][eval("lstmonth")].options[7]=new Option("Juillet", "07");
	document[eval("frm")][eval("lstmonth")].options[8]=new Option("Aout", "08");
	document[eval("frm")][eval("lstmonth")].options[9]=new Option("Septembre", "09");
	document[eval("frm")][eval("lstmonth")].options[10]=new Option("Octobre", "10");
	document[eval("frm")][eval("lstmonth")].options[11]=new Option("Novembre", "11");
	document[eval("frm")][eval("lstmonth")].options[12]=new Option("Decembre", "12");//------------
}
function fnDate_select(frm, lstyear, lstmonth, lstday, yr, mth, day){
	dat = new Date();
	yr=Number(yr);
	year=dat.getFullYear();
	var i;
	var j=1;
	for(i=year; i>=year-100; i--){
		if(yr==i){
			document[eval("frm")][eval("lstyear")].options[j].selected=true;
			break;
		}
		j++;
	}
	var mon=Number(mth);
	for(m=1; m<=12; m++){
		if(mon==m){
			document[eval("frm")][eval("lstmonth")].options[m].selected=true;
			break;
		}
	}
	var dd=Number(day);
//	fnDays(frm, lstyear, lstmonth, lstday);
	for(d=1; d<=31; d++){
		if(dd==d){
			document[eval("frm")][eval("lstday")].options[d].selected=true;
			break;
		}
	}
}
function trim(s){
	while (s.substring(0,1) == ' ') {s = s.substring(1,s.length);}
	while (s.substring(s.length-1,s.length) == ' ') {s = s.substring(0,s.length-1);}
	return s;
}
function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;
    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
	else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++){
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}
//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}
function shiftOpacity(id, millisec) {
    //if an element is invisible, make it visible, else make it ivisible
    if(document.getElementById(id).style.opacity == 0) {opacity(id, 0, 100, millisec);}
	else {opacity(id, 100, 0, millisec);}
} 
//////////////////////////////////////////////////
function MM_preloadImages() { //v3.0
  	var d=document;
	if(d.images){
		if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length,a=MM_preloadImages.arguments;
		for(i=0; i<a.length; i++)
			if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}
	}
}

function MM_swapImgRestore() { //v3.0
  	var i,x,a=document.MM_sr;
  	for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  	if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function GetXmlHttpObject(){
	var xmlHttp=null;
	if (window.XMLHttpRequest) // if Mozilla, IE7, Safari etc
		xmlHttp=new XMLHttpRequest();
	else if(window.ActiveXObject){ // if IE		// Internet Explorer
		try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}
		catch(e){ 
			try{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
			catch (e){}
		}
	}
	return xmlHttp;
}
function fnPoll(url, radioObj, id){
	var radioLength = radioObj.length;
	val = "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {val = radioObj[i].value;}
	}
	if(val==""){
		document.getElementById("pollerror").innerHTML = "<li>Please select one option.</li>";
	}
	else{
		obj = GetXmlHttpObject();
		if(obj == null){
			alert("Browser does not support javascript.");
			return;
		}
		var fURL = url+"?a="+val+"&id="+id;
		obj.onreadystatechange=function(){
			if(obj.readyState==4){
				document.getElementById("pollerror").innerHTML = "";
				document.getElementById("poll").innerHTML=obj.responseText;
			}
			else{document.getElementById("poll").innerHTML="Loading....";}
		}
		obj.open("GET", fURL, true);
		obj.send(null);
	}
}
function homeNews(url, imgPath){
	obj = GetXmlHttpObject();
	if(obj == null){
		alert("Browser does not support javascript.");
		return;
	}
	var fURL = url;
	obj.onreadystatechange=function(){
		if(obj.readyState==4){
			document.getElementById("homeNews").innerHTML=obj.responseText;
		}
		else{
			document.getElementById("homeNews").innerHTML="<div class='home_news' style='background:none') no-repeat'><div "+
			"class='home_newsbox'><div class='home_newstext'>Loading...</div></div></div>";
		}
	}
	obj.open("GET", fURL, true);
	obj.send(null);
}
function jsGetURL(fURL){window.location.href=fURL;}
/**************************EVENT SHOWS CALENDER****************************/
function createQCObject() { 
   var req; 
   if(window.XMLHttpRequest){ 
      // Firefox, Safari, Opera... 
      req = new XMLHttpRequest(); 
   } else if(window.ActiveXObject) { 
      // Internet Explorer 5+ 
      req = new ActiveXObject("Microsoft.XMLHTTP"); 
   } else { 
      alert('Problem creating the XMLHttpRequest object'); 
   } 
   return req; 
} 

// Make the XMLHttpRequest object 
var http = createQCObject(); 
function displayQCalendar(m, y, url) {
	var ran_no=(Math.round((Math.random()*9999)));
	if(url.indexOf('?')==-1)http.open('get', url+'?m='+m+'&y='+y+'&ran='+ran_no);
	else http.open('get', url+'&m='+m+'&y='+y+'&ran='+ran_no);
   	http.onreadystatechange = function(){
		if(http.readyState == 4 && http.status == 200) { 
      		var response = http.responseText;
      		if(response){
				document.getElementById("quickCalender").innerHTML = http.responseText; 
      		}
   		}
	}
   	http.send(null); 
}
/***************************************************************/
/********************ADD PHOTO********************************/
function addPhoto(){
	if(document.getElementById("pic2").style.display=="none"){document.getElementById("pic2").style.display="";}
	else{
		if(document.getElementById("pic3").style.display=="none"){
			document.getElementById("btn2").style.display="none";
			document.getElementById("pic3").style.display="";
		}
		else{
			if(document.getElementById("pic4").style.display=="none"){
				document.getElementById("btn3").style.display="none";
				document.getElementById("pic4").style.display="";
			}
			else{
				if(document.getElementById("pic5").style.display=="none"){
					document.getElementById("btn4").style.display="none";
					document.getElementById("pic5").style.display="";
				}
				else{
					if(document.getElementById("pic6").style.display=="none"){
						document.getElementById("btn5").style.display="none";
						document.getElementById("pic6").style.display="";
						document.getElementById("picButton").style.display="none";
					}
				}
			}
		}
	}
}
function removePhoto(){
	if(document.getElementById("pic6").style.display==""){
		document.getElementById("pic6").style.display="none";
		document.getElementById("SelectF6").value="";
		document.getElementById("picButton").style.display="";
		document.getElementById("btn5").style.display="";
	}
	else{
		if(document.getElementById("pic5").style.display==""){
			document.getElementById("pic5").style.display="none";
			document.getElementById("SelectF5").value="";
			document.getElementById("btn4").style.display="";
		}
		else{
			if(document.getElementById("pic4").style.display==""){
				document.getElementById("pic4").style.display="none";
				document.getElementById("SelectF4").value="";
				document.getElementById("btn3").style.display="";
			}
			else{
				if(document.getElementById("pic3").style.display==""){
					document.getElementById("pic3").style.display="none";
					document.getElementById("SelectF3").value="";
					document.getElementById("btn2").style.display="";
				}
				else{
					if(document.getElementById("pic2").style.display==""){
						document.getElementById("pic2").style.display="none";
						document.getElementById("SelectF2").value="";
					}
				}
			}
		}
	}
}
/**************************************************************/
function roundNumber(num, dec){
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}
function productQuantity(maxQty, pPrice, pShipping, frm){
	if(document.getElementById("txtqty").value == "" || document.getElementById("txtqty").value == "0"){
		document.getElementById("qtyErr").style.display='';
		document.getElementById("txtqty").className = 'err';
		document.getElementById("btnpaypal").disabled = true;
	}
	else{
		var strValidChars = "123456789";
		var strChar;
		var blnResult = true;
		strNo = document.getElementById("txtqty").value;
		if(strNo.length == 0){
			document.getElementById("qtyErr").style.display='';
			document.getElementById("txtqty").className = 'err';
			document.getElementById("btnpaypal").disabled = true;
		}
		//  test strString consists of valid characters listed above
   		for(i = 0; i < strNo.length && blnResult == true; i++){
			strChar = strNo.charAt(i);
      		if (strValidChars.indexOf(strChar) == -1){blnResult = false;}
      	}
   		if(blnResult == false){
			document.getElementById("qtyErr").style.display='';
			document.getElementById("txtqty").className = 'err';
			document.getElementById("btnpaypal").disabled = true;
		}
		else{
			if(strNo > maxQty){
				document.getElementById("qtyErr").style.display='';
				document.getElementById("txtqty").className = 'err';
				document.getElementById("btnpaypal").disabled = true;
			}
			else{
				var price = (pPrice * strNo) + parseInt(pShipping);
				frm.amount.value = roundNumber(price, 2);
				document.getElementById("qtyErr").style.display='none';
				document.getElementById("txtqty").className = '';
				document.getElementById("btnpaypal").disabled = false;
			}
		}
	}
}

function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	
//	console.log(self.innerWidth);
//	console.log(document.documentElement.clientWidth);

	if (self.innerHeight) {	// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

//	console.log("xScroll " + xScroll)
//	console.log("windowWidth " + windowWidth)

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = xScroll;		
	} else {
		pageWidth = windowWidth;
	}
//	console.log("pageWidth " + pageWidth)

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}