tempX = tempY = 0;

// http://www.quirksmode.org/js/selected.html
function sociable_get_selection() {
    if (window.getSelection)
        return "" + window.getSelection();
    else if (document.getSelection)
        return "" + document.getSelection();
    else if (document.selection)
        return "" + document.selection.createRange().text;
}

function sociable_description_link(link, attribute) {
    if (typeof(link.original_link) == "undefined")
        link.original_link = link.href;
    link.href = link.original_link + "&" + attribute + "=" + sociable_get_selection();
    return false;
}

/***********************************************
* Drop Down/ Overlapping Content- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

function getposOffset(overlay, offsettype){
    var totaloffset=(offsettype=="left")? overlay.offsetLeft : overlay.offsetTop;
    var parentEl=overlay.offsetParent;
    while (parentEl!=null){
        totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
        parentEl=parentEl.offsetParent;
    }
    return totaloffset;
}

function overlay(curobj, subobjstr, opt_position){
    if (document.getElementById){
        var subobj=document.getElementById(subobjstr)
        document.onclick=function(e){
            clicktohide(curobj, subobjstr, e)
        }

        var xpos=getposOffset(curobj, "left")+((typeof opt_position!="undefined" && opt_position.indexOf("right")!=-1)? -(subobj.offsetWidth-curobj.offsetWidth+250) : 0)
        var ypos=getposOffset(curobj, "top")+((typeof opt_position!="undefined" && opt_position.indexOf("bottom")!=-1)? curobj.offsetHeight : 0)
        subobj.style.left=xpos+"px"
        subobj.style.top=ypos+"px"
        subobj.style.display=(subobj.style.display!="block")? "block" : "none"
        return false
    }
    else
        return true
}

function overlayclose(subobj){
    document.getElementById(subobj).style.display="none"
}

function clicktohide(linkobj, subobj, e){
    var currentnode=(window.event)? event.srcElement : e.target
    var hidesubobj=true
    while (currentnode.tagName!="BODY" && currentnode.tagName!="HTML"){
        if (currentnode.id==subobj || currentnode==linkobj){
            hidesubobj=false
            break
        }
        currentnode=currentnode.parentNode
    }
    if (hidesubobj)
        overlayclose(subobj)
}

function alert_validate()
{
    if(document.getElementById('sb-frm-da'))
    {
        docF  = document.getElementById('sb-frm-da');
    }
    else if(document.getElementById('sl-frm-da'))
    {
        docF  = document.getElementById('sl-frm-da');
    }
    else if(document.getElementById('pg-frm-da'))
    {
        docF  = document.getElementById('pg-frm-da');
    }

    docF.firstname.value = trim(docF.firstname.value);
    docF.email.value = trim(docF.email.value);
    docF.phone.value = trim(docF.phone.value);

    if(docF.firstname.value != '')
    {
        if(!isName(docF.firstname.value))
        {
            alert("Please enter a valid Name");
            docF.firstname.focus();
            return false;
        }
    }
    if((docF.email.value)== "")
    {
        alert("Please enter your Email ID");
        docF.email.focus();
        return false;
    }
    if((docF.email.value)!="" && !checkemail(docF.email.value))
    {
        alert(docF.email.value + " is not a valid Email ID");
        docF.email.focus();
        return false;
    }
	
    if(docF.city && docF.city.options)
    {
        if(docF.city.value == 0)
        {
            alert("Please select your city");
            docF.city.focus();
            return false;
        }
    }
    if((docF.phone.value) == "")
    {
        alert("Please enter phone number!");
        docF.phone.focus();
        return false;
    }
    if(isNaN((docF.phone.value)))
    {
        alert("Invalid Phone No.! Please do not use any special characters! Like + ~ and ~");
        docF.phone.focus();
        return false;
    }
    var ph=docF.phone.value;
    if(ph.substr(0,1)==9 && ( ph.length<10 || ph.length>15 ))
    {
        alert("Please enter a valid mobile No.!");
        docF.phone.focus();
        return false;
    }
    if(ph.substr(0,1)==0 && (ph.length<11 || ph.length>15 ))
    {
        alert("Please enter a valid Phone No.!");
        docF.phone.focus();
        return false;
    }
    if(ph.substr(0,1)=='+' && (ph.length<12 || ph.length>15 ))
    {
        alert("Please enter a valid Phone No.!!");
        docF.phone.focus();
        return false;
    }
    if(ph.substr(0,1)!=9 && ph.substr(0,1)!=0 && ph.substr(0,1)!='+')
    {
        alert("Please enter Phone No. with complete STD code/Area Code!");
        docF.phone.focus();
        return false;
    }

    if(docF.elements["saletype[]"])
    {

        saletype = docF.elements["saletype[]"];

        flag = 1;
        for(i=0;i<saletype.length;i++)
        {
            if(saletype[i].checked == true)
            {
                flag = 0;
                break;
            }
        }
        if(flag)
        {
            alert("Please select atleast one category")
            return false;
        }
    }
    return true;
}

function isEmail(str)
{
    var regex = /^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mobi|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
    return regex.test(str);
}

function checkemail(emailadd)
{
    if (emailadd.length>100)
        return false;
    else if (emailadd.length<8)
        return false;
    else
        return isEmail(trim(emailadd));
}

function isName(string)
{
    var invalidchar = new Array('#','"','\\','/','!','@','$','%','^','&','*','?',':','~','`','(',')','_','+','=','{','}','[',']','|','<','>',';','-','1','2','3','4','5','6','7','8','9','0');
    return validate_characters(string,invalidchar);
}

function validate_characters(string,invalidchar)
{
    var invalid=true;
    for(i=0;i<string.length;i++)
    {
        for(j=0;j<invalidchar.length;j++)
        {
            if (string[i]==invalidchar[j])
            {
                invalid=false;
                break;
            }
        }
    }
    if(string.charAt(0)=='.' || string.charAt(0)=='\'')
        invalid=false;
    return invalid;
}

function trim(inputString)
{

    if (typeof inputString != "string") {
        return inputString;
    }
    var retValue = inputString;
    var ch = retValue.substring(0, 1);
    while (ch == " ")
    {
        retValue = retValue.substring(1, retValue.length);
        ch = retValue.substring(0, 1);
    }
    ch = retValue.substring(retValue.length-1, retValue.length);
    while (ch == " ")
    {
        retValue = retValue.substring(0, retValue.length-1);
        ch = retValue.substring(retValue.length-1, retValue.length);
    }
    while (retValue.indexOf("  ") != -1)
    {
        retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
    }
    return retValue;
}


/*
name - name of the cookie
value - value of the cookie
[expires] - expiration date of the cookie
(defaults to end of current session)
[path] - path for which the cookie is valid
(defaults to path of calling document)
[domain] - domain for which the cookie is valid
(defaults to domain of calling document)
[secure] - Boolean value indicating if the cookie transmission requires
a secure transmission
* an argument defaults when it is assigned null as a placeholder
* a null placeholder is not required for trailing omitted arguments
*/

function setCookie_exp(name, value, expires, path, domain, secure) {

    var curCookie = name + "=" + escape(value) +((expires) ? "; expires=" + expires.toGMTString() : "") +((path) ? "; path=" + path : "") +((domain) ? "; domain=" + domain : "") +((secure) ? "; secure" : "");
    document.cookie = curCookie;
//	alert(document.cookie);
}


/*
name - name of the desired cookie
return string containing value of specified cookie or null
if cookie does not exist
*/

function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    } else
        begin += 2;
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
        end = dc.length;
    return unescape(dc.substring(begin + prefix.length, end));
}


/*
name - name of the cookie
[path] - path of the cookie (must be same as path used to create cookie)
[domain] - domain of the cookie (must be same as domain used to
create cookie)
path and domain default if assigned null or omitted if no explicit
argument proceeds
*/

function deleteCookie(name, path, domain) {
    if (getCookie(name)) {
        document.cookie = name + "=" +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

// Change cookie to handle list / grid based display of SALEs
function setSaleFormat(format)
{
    // Set the expiry date to 30 days
    var now = new Date();
    fixDate(now);
    now.setTime(now.getTime() + 30 * 24 * 60 * 60 * 1000);

    setCookie_exp('SaleListStyle',format,now,'/');

    document.location.reload();

}


// date - any instance of the Date object
// * hand all instances of the Date object to this function for "repairs"

function fixDate(date) {
    var base = new Date(0);
    var skew = base.getTime();
    if (skew > 0)
        date.setTime(date.getTime() - skew);
}

function showLoginForm()
{
    if(document.getElementById('loginContainer'))
    {
        
        if ((tempX - 300) < 20)
            posX = tempX;
        else 
            posX = tempX - 300;

        if(tempY > 600)
            posY = tempY - 150
        else
            posY = tempY
            
        document.getElementById('loginContainer').style.left = posX + 'px';
        document.getElementById('loginContainer').style.top = posY + 'px';
        document.getElementById('loginContainer').style.display = 'block';
        
    }
    else
    {
        alert("Please let the page load completely or reload the page before pressing this button");
    }
}

function showRegisterForm()
{
    hideLoginDiv();
    
    if(document.getElementById('registerContainer'))
    {
        if ((tempX - 300) < 20)
            posX = tempX;
        else 
            posX = tempX - 300;

        if(tempY > 600)
            posY = tempY - 350
        else
            posY = tempY
            
        document.getElementById('registerContainer').style.left = posX + 'px';
        document.getElementById('registerContainer').style.top = posY + 'px';
        document.getElementById('registerContainer').style.display = 'block';
        
    }
    else
    {
        alert("Please let the page load completely or reload the page before pressing this button");
    }
}

function hideRegisterDiv()
{
    if(document.getElementById('registerContainer'))
        document.getElementById('registerContainer').style.display = 'none';
}

function hideLoginDiv()
{
    if(document.getElementById('loginContainer'))
        document.getElementById('loginContainer').style.display = 'none';
}

function loginValidate()
{
    docF = document.forms.loginForm;
    if(docF.log.value == '')
    {
        alert("Please enter a username");
        docF.log.focus();
        return false;
    }
    if(docF.pwd.value == '')
    {
        alert("Please enter your password");
        docF.pwd.focus();
        return false;
    }
    return true;
}

function getMousePos(e) { //you need the 'e', although it does NOT need to be defined
    //NS
    if (document.layers||document.getElementById&&!document.all) {
        tempX = e.pageX;
        tempY = e.pageY;

    }
    //IE
    else if (document.all) {
        tempX=window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
        tempY=window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
    }
}

// Function used to slide up/down cc controls:
function slideCC() {
    var CC = $('#cc');
    if(CC.data('state') === 'down') {
        CC.animate({
            top:'-'+(CC.height())
            }) && CC.data('state','up');
    } else {
        CC.animate({
            top:-10
        }) && CC.data('state','down');
    }
    return false;
}
 
function color(colname)
{
    var oLink = document.createElement("link") 
    oLink.href = "/wp-content/themes/saleraja/color-"+colname+".css";
    
    // Set the expiry date to 30 days
    var now = new Date();
    fixDate(now);
    now.setTime(now.getTime() + 30 * 24 * 60 * 60 * 1000);
    setCookie_exp('css',oLink.href,now,'/');
     
    oLink.rel = "stylesheet"; 
    oLink.type = "text/css";
    
    document.getElementsByTagName("head")[0].appendChild(oLink)
   
    return false;
}

startList = function()
{
    if (document.all && document.getElementById) {
        cssdropdownRoot = document.getElementById("cssdropdown");
        for (x=0; x<cssdropdownRoot.childNodes.length; x++) {
            node = cssdropdownRoot.childNodes[x];
            if (node.nodeName=="LI") {
                node.onmouseover=function() {
                    this.className+=" over";
                }
                node.onmouseout=function() {
                    this.className=this.className.replace(" over", "");
                }
            }
        }
    }
}