//
// This function show or hide a subitem element depending
// of its current state (displayed or hidden)
//
function handle_product_summary(obj)
{
	//obj.parentNode.className = "current";
	
	if (obj.className != "collapsed")
	{
		obj.className = "collapsed";
	}
	else
	{
		obj.className = "uncollapsed";
	}

	tmp_targeted_obj = obj.parentNode.id;
	tmp_targeted_obj = tmp_targeted_obj.substr(12);
	targeted_obj = document.getElementById("product_summary_" + tmp_targeted_obj).parentNode;

	if (targeted_obj.style.display != "block" && targeted_obj.style.display != "table-row")
	{
		if (navigator.appName=="Microsoft Internet Explorer") // needed cause ie doesn't recognize table-row value
		{
			targeted_obj.style.display = "block";
		}
		else
		{
			targeted_obj.style.display = "table-row";
		}
	}
	else
	{
		targeted_obj.style.display = "none";
	}
	
}


//
// This function make an hidden element to
// be displayed
//
function show(element)
{
	if (obj = document.getElementById(element))
	{
		obj.style.display = "block";
	}
}


//
// This function make a displayed element to
// be hidden
//
function hide(element)
{
	if (obj = document.getElementById(element))
	{
		obj.style.display = "none";
	}
}


//
// Get all the elements having a specifie className
// and return them into an array
//
function getElementsByClass(searchClass, node, tag)
{
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function showCalendar(ctrlName)
{
    var objWin
    objWin=window.open("../Calendrier/Calendrier.aspx?ParentControl=" + ctrlName,objWin,"left=600,top=150,width=200,height=117,status=no,toolbar=no,menubar=no,location=no");
}

function uncollapseAll()
{   
    var intCntLinks;
    var objHyperlink;
    for(intCntLinks =0;intCntLinks < 6;intCntLinks++)
    {
        objHyperlink = document.getElementById('res_product_link_' + intCntLinks)
        if(objHyperlink != null )
        {
            handle_product_summary(objHyperlink);
            if(objHyperlink.className == "collapsed" )
            {
                objHyperlink.className = "collapsed";
            }
            else
            {
                objHyperlink.className = "uncollapsed";
            }
            
        }
    }
}

/*
Permet d ouvrir le popup de la page detail 'Infos pays'
*/
function loadPrintWindowDetailPays(code)
{ 
    var objPrintWindow;
    objPrintWindow=window.open("Print.aspx?code="+code,objPrintWindow,"left=100,top=100,width=560,height=600,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes");
}



function loadWindowPrintCallCenter(strPageAndQuerystring)
{ 
    var objPrintWindow;
    objPrintWindow=window.open(strPageAndQuerystring,objPrintWindow,"left=100,top=100,width=750,height=600,status=yes,toolbar=no,menubar=no,location=no,scrollbars=no");
}
function loadWindow(strPageAndQuerystring, width, height)
{ 
    var objPrintWindow;
    objPrintWindow=window.open(strPageAndQuerystring,objPrintWindow,"left=100,top=100,width="+width+",height="+height+",status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes");
}
function loadPrintWindow()
{ 
    var objPrintWindow;
    objPrintWindow=window.open("Imprimer_Resulats.aspx",objPrintWindow,"left=100,top=100,width=800,height=600,status=yes,resizable=yes,toolbar=no,menubar=no,location=no,scrollbars=yes");
}


function displayProductDetails(codeProduit,codeHotel,dateDepart,duree,hotel,prix,ville,strQueryString,strNomProduit,strPays,strTypeSejour,strItemId,strCle)
{   
   
    var returnParameters=new String();
    returnParameters = strQueryString;
    returnParameters = returnParameters.replace("&","||");
   
    returnParameters = returnParameters.replace("&RETOUR=TRUE","");
    
    location.href="Produit_Details.aspx?Code_Produit=" + codeProduit + "&Code_Hotel=" + codeHotel + "&Date_Depart=" + dateDepart + "&Duree_Voyage=" + duree + "&Hotel=" + hotel.replace("&", "et") + "&Prix=" + prix + "&Ville=" + ville + "&Produit=" + strNomProduit +  "&Pays=" + strPays + "&Type_Sejour=" + strTypeSejour +  "&Item_ID=" + strItemId + "&Search_Criteria=" + escape(returnParameters) + "&CleCPD=" + strCle;
}

function backToSearchResult(strQueryString)
{  
   
    location.href="Default.aspx?" + strQueryString;
}
function TogglePopup(objPicker)
{
     var picker = $find(objPicker);
    if(picker.isPopupVisible())
    {
         picker.hidePopup();
    }
    else
    {
         var textBox = picker.get_textBox();
         var button = picker.get_popupButton();
         var popupElement = picker.get_popupContainer();
         var rdpElement = picker.get_element();
         var dimensions = picker.getElementDimensions(popupElement);
         var dimensions2 = picker.getElementDimensions(button);
         //Donnée incorrect on prend 120
         var dimensions3 = picker.getElementDimensions(textBox);
         var position = picker.getElementPosition(textBox);
         var offsetWidth =  dimensions.width - 80 - dimensions2.width;
         picker.showPopup(position.x-offsetWidth, position.y + dimensions3.height);
     }
} 