var isInSearch = 0;

function Newsletter(url, txtElementId)
{
    document.location.href = url+"?email="+htmlElement(txtElementId).value;
} 


function updateLeftChars(source,maxLength)
{
    var currentLength = source.value.length;
    var cpt = document.getElementById("counter");
    if (currentLength > maxLength) 
    {
        source.value = source.value.substr(0,maxLength);
        return false;
    }
    else
    {
        cpt.innerHTML = maxLength - currentLength + '&nbsp;';
    }
}

function updateLeftCharsDyn(source, maxLength, dest)
{
    var currentLength = source.value.length;
    var cpt = htmlElement(dest);
    if (currentLength > maxLength) 
    {
        source.value = source.value.substr(0,maxLength);
    }
    else
    {
        cpt.innerHTML = maxLength - currentLength;
    }
}

function Search(url, txtElementId, ddlElementId)
{
    if (isInSearch == 0)
    {
        isInSearch = 1;
        var elt = htmlElement(ddlElementId);
        
        var modalPopupBehavior = $find('programmaticModalPopupImageWaitingBehavior');
        modalPopupBehavior.show();   
        
        if(elt.options.selectedIndex==0)
            document.location.href = url + "?search=" + htmlElement(txtElementId).value.replace('&', '%26');
        else
            document.location.href = url + "?search=" + htmlElement(txtElementId).value + "&shop=" + elt.options[elt.options.selectedIndex].value + "&SelRubricLevel1Id=" + elt.options[elt.options.selectedIndex].value;
    }        
}

function InitMyProxisLoginId(emailId, passwordId)
{
    eltEmailId = emailId;
    eltPasswordId = passwordId;
}

function InitB2BLoginId(emailB2BId, passwordB2BId)
{
    eltB2BEmailId = emailB2BId;
    eltB2BPasswordId = passwordB2BId;
}

function isValidDate(day, month, year)
{
    var dteDate, currentDate;
    
    currentDate = new Date();
    
    if( year < 1900 )
        return false;

    month = month - 1

    dteDate = new Date(year, month, day);

    return ((day == dteDate.getDate()) && (month == dteDate.getMonth()) && (year == dteDate.getFullYear()));
}

function IsNumberValid(numberToCheck, from, to)
{
    if (isNaN(numberToCheck))
    {
        return false;
    }
    else
    {
        if ((numberToCheck < from) || (numberToCheck > to))
        {
            return false;
        }
    }
    
    return true;
}

function setRating(idHidden, rating) 
{
   htmlElement(idHidden).value = rating;  
}

function ShowPopupImage(imgSrc, imgTitle)
{
    var tmp = $get('imgImagePopupToReplace');
    tmp.src  = imgSrc;
    
    tmp = $get('spanImagePopupTitleToReplace');
    tmp.innerHTML = imgTitle;
    
    var modalPopupBehavior = $find('programmaticModalPopupImageBehavior');
    modalPopupBehavior.show(); 
}

function DeclComboChange(Combo, url)
{                   
    var ItemCombo = Combo.options[Combo.selectedIndex];       
    document.location.href = UpdateParameter(document.location.href,"sortBy",ItemCombo.value);
}     

function UpdateParameter (queryString, parameterName, parameterValue)
{
    // Add "=" to the parameter name (i.e. parameterName=value)
    var parameterName = parameterName + "=";
    
    if ( queryString.length > 0 ) 
    {
        // Find the beginning of the string
        begin = queryString.indexOf ( parameterName );
        
        // If the parameter name is not found, skip it, otherwise return the value
        if ( begin != -1 ) 
        {
            // Add the length (integer) to the beginning
            begin += parameterName.length;
            // Multiple parameters are separated by the "&" sign
            end = queryString.indexOf ( "&" , begin );
            if ( end == -1 ) 
            {
                end = queryString.length
            }
            // Return the string
            return unescape ( queryString.substring ( 0, begin)+ parameterValue + queryString.substring ( end, queryString.length));
        }
        // Return "null" if no parameter has been found
        return unescape ( queryString + "&" +parameterName + parameterValue);
    }
}

function trimString(strText) {
  if (strText != '') {
    var m=0;
    var strClean = strText;
    while (strText.substring((strText.length -m -1), strText.length -m) == ' ') {
      m++;
    }	
    if (m > 0) { 
      strClean = strText.substring(0,strText.length -m);
    }    
    var m = 0;
    while (strClean.substring(m, m + 1) == ' ') {
      m++;
    }	
    if (m > 0) { 
      strClean = strClean.substring(m,strText.length);
    }
    return strClean;    
  } else {
    return '';
  }
}