﻿/****************************************************************************************
Product:	  PowerVolt Inc.
Copyright:	  PowerVolt Inc., All rights reserved.
File Type:	  JavaScript File (.js)
Source:		  ProductDetails.js
Created Date: 08/24/2009
Author:		  John Jeya Aneston
Version:	  1.0.0
Description:  JavaScript file for Product Details


CR / Issue No      Modified By       Modified On       Version         Reason
****************************************************************************************/


// Gets the prefix clientID for Grid Control's GridRow
function GetGridMDRowClientID(ID) 
{
    var gridMDRowClientID;
    
    if (ID.lastIndexOf("_") > 0)
        gridMDRowClientID = ID.substring(0, ID.lastIndexOf("_") + 1); //alert(gridMDRowClientID);    
        
    return gridMDRowClientID;
}

//Function to open 
function OpenComplianceImages(getURL, width, height)
{
    width = Math.round(width)+50;
    height = Math.round(height)+55;
    
    window.open(getURL, "_blank", "status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,modal=yes,resizable=yes,width="+width+"px,height="+height+"px");
}


function innerTabsShowHide(getId, gridDisplay)
{
	var tabNames=new Array();
	tabNames[0]="StandardStock";
	tabNames[1]="MechanicalDrawings";
	tabNames[2]="Schematics";
	tabNames[3]="StandardNonStock";
	
	if (getId == "MechanicalDrawings")
	{
	    var str1 = document.getElementById(clientID+"hdnCheckBoxSelectId").value;	    
	    var str2 = str1.split(",");
	    
	    if(str2.length>2)
	    {
	        alert(selectMDPartNumber);
	        return false;
        }        
        else if(str2.length==2)
        {            
            if(gridDisplay=="All")
                __doPostBack(document.getElementById(clientID+'btnMDSubmit').name, '');                        
        }
	}
	else
	{
	    if(document.getElementById(clientID+"divPartDisplHdr")!=null)
	        document.getElementById(clientID+"divPartDisplHdr").style.display='none';
	    
	    if(document.getElementById(clientID+"divMechDimensions")!=null)
	        document.getElementById(clientID+"divMechDimensions").style.display='none';
	}
	
	for (i=0;i<tabNames.length;i++)
	{	    
		document.getElementById(clientID+'div'+tabNames[i]).style.display="none";
		document.getElementById(clientID+'li'+tabNames[i]).className="";
	}
		
	document.getElementById(clientID+'div'+getId).style.display="block";
	document.getElementById(clientID+'li'+getId).className="selected";
	
	
}

//Specifications Check Box click Client ID Concatenation
function GridCheckBoxClick(getSelectedId)
{
    var rowClientId = GetGridMDRowClientID(getSelectedId);    
    var controlID= getSelectedId;    
    if(document.getElementById(controlID).checked)
    {   
        //for Mechanical Drawings             
        document.getElementById(clientID+"hdnCheckBoxSelectId").value += ","+rowClientId;
        
        //Section for Request Quote - Part Number Selection        
        var strValuePart = "," + document.getElementById(rowClientId+"hdnPartNumber").value;
        var strValue1Part = document.getElementById(clientID+"hdnSelectPartnumbers").value;
        if(strValue1Part.indexOf(strValuePart) == -1)
            document.getElementById(clientID+"hdnSelectPartnumbers").value += ","+document.getElementById(rowClientId+"hdnPartNumber").value;
    }
    else
    {
        //Section for Mechanical Drawings
        var strValue = "," + rowClientId;
        var strValue1 = document.getElementById(clientID+"hdnCheckBoxSelectId").value;
        if(strValue1.indexOf(strValue) != -1)
            document.getElementById(clientID+"hdnCheckBoxSelectId").value=strValue1.replace(strValue,''); 
            
        //Section for Request Quote - Part Number Selection        
        var strValuePart = "," + document.getElementById(rowClientId+"hdnPartNumber").value;
        var strValue1Part = document.getElementById(clientID+"hdnSelectPartnumbers").value;
        if(strValue1Part.indexOf(strValuePart) != -1)
            document.getElementById(clientID+"hdnSelectPartnumbers").value=strValue1Part.replace(strValuePart,'');        
    }
}

//to validate Request Quote Button click
function ValidateCheckBox()
{
    var str1 = document.getElementById(clientID+"hdnSelectPartnumbers").value;	    
	var str2 = str1.split(",");
	
	if(str2.length==1)
    {
        alert(selectQuotePartNumber);
        return false;
    }  
    //Added by saravanan dated on 09/24/2009
    if(str2.length > 2)
    {
        alert(selectMDPartNumber);
        return false;
    }  
}

//Added by saravanan dated on 09/24/2009
function SelectPartNumber(getSelectedId)
{
    var rowClientId = GetGridMDRowClientID(getSelectedId);
    var controlID= getSelectedId;
        
    if(!document.getElementById(controlID).checked)
    {   
        alert(selectPartNumber);
        return false;
    }
    
    var str1 = document.getElementById(clientID+"hdnSelectPartnumbers").value;	    
	var str2 = str1.split(",");	 
    if(str2.length > 2)
    {
        alert(selectMDPartNumber);
        return false;
    }  
}

//Added by saravanan dated on 09/24/2009
function DatasheetSelectPartNumber(getSelectedId, loginSucess)
{    
    var rowClientId = GetGridMDRowClientID(getSelectedId);
    var controlID= getSelectedId;
    // alert(document.getElementById(controlID).checked);
    if(!document.getElementById(controlID).checked)
    {   
        alert(selectPartNumber);
        return false;
    }
    //alert(document.getElementById(clientID+"hdnSelectPartnumbers").value);
    var str1 = document.getElementById(clientID+"hdnSelectPartnumbers").value;	    
	var str2 = str1.split(",");	 
    if(str2.length > 2)
    {
        alert(selectMDPartNumber);
        return false;
    }else{    
      if(loginSucess == '0')   
            layerCheckProduct();
    }  
}

/***********************************************************/
/********** Tooltip display on Tab *************************/
/***********************************************************/
/***********************************************
    * Cool DHTML tooltip script II- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
    * This notice MUST stay intact for legal use
    * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
    ***********************************************/

    var offsetfromcursorX = 12 //Customize x offset of tooltip
    var offsetfromcursorY = 10 //Customize y offset of tooltip

    var offsetdivfrompointerX = 10 //Customize x offset of tooltip DIV relative to pointer image
    var offsetdivfrompointerY = 14 //Customize y offset of tooltip DIV relative to pointer image. Tip: Set it to (height_of_pointer_image-1).

    document.write('<div id="dhtmltooltip"></div>') //write out tooltip DIV
    document.write('<img id="dhtmlpointer" src="../images/arrow5.gif">') //write out pointer image

    var ie = document.all
    var ns6 = document.getElementById && !document.all
    var enabletip = false
    if (ie || ns6)
        var tipobj = document.all ? document.all["dhtmltooltip"] : document.getElementById ? document.getElementById("dhtmltooltip") : ""

    var pointerobj = document.all ? document.all["dhtmlpointer"] : document.getElementById ? document.getElementById("dhtmlpointer") : ""

    function ietruebody() {
        return (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body
    }

    function ddrivetip(thetext, thewidth, thecolor) {
        if (ns6 || ie) {
            if (typeof thewidth != "undefined") tipobj.style.width = thewidth + "px"
            if (typeof thecolor != "undefined" && thecolor != "") tipobj.style.backgroundColor = thecolor
            tipobj.innerHTML = thetext
            enabletip = true
            return false
        }
    }

    function positiontip(e) {
        if (enabletip) {
            var nondefaultpos = false
            var curX = (ns6) ? e.pageX : event.clientX + ietruebody().scrollLeft;
            var curY = (ns6) ? e.pageY : event.clientY + ietruebody().scrollTop;
            //Find out how close the mouse is to the corner of the window
            var winwidth = ie && !window.opera ? ietruebody().clientWidth : window.innerWidth - 20
            var winheight = ie && !window.opera ? ietruebody().clientHeight : window.innerHeight - 20

            var rightedge = ie && !window.opera ? winwidth - event.clientX - offsetfromcursorX : winwidth - e.clientX - offsetfromcursorX
            var bottomedge = ie && !window.opera ? winheight - event.clientY - offsetfromcursorY : winheight - e.clientY - offsetfromcursorY

            var leftedge = (offsetfromcursorX < 0) ? offsetfromcursorX * (-1) : -1000

            //if the horizontal distance isn't enough to accomodate the width of the context menu
            if (rightedge < tipobj.offsetWidth) {
                //move the horizontal position of the menu to the left by it's width
                tipobj.style.left = curX - tipobj.offsetWidth + "px"
                nondefaultpos = true
            }
            else if (curX < leftedge)
                tipobj.style.left = "5px"
            else {
                //position the horizontal position of the menu where the mouse is positioned
                tipobj.style.left = curX + offsetfromcursorX - offsetdivfrompointerX + "px"
                pointerobj.style.left = curX + offsetfromcursorX + "px"
            }

            //same concept with the vertical position
            if (bottomedge < tipobj.offsetHeight) {
                tipobj.style.top = curY - tipobj.offsetHeight - offsetfromcursorY + "px"
                nondefaultpos = true
            }
            else {
                tipobj.style.top = curY + offsetfromcursorY + offsetdivfrompointerY + "px"
                pointerobj.style.top = curY + offsetfromcursorY + "px"
            }
            tipobj.style.visibility = "visible"
            if (!nondefaultpos)
                pointerobj.style.visibility = "visible"
            else
                pointerobj.style.visibility = "hidden"
        }
    }

    function hideddrivetip() {
        if (ns6 || ie) {
            enabletip = false
            tipobj.style.visibility = "hidden"
            pointerobj.style.visibility = "hidden"
            tipobj.style.left = "-1000px"
            tipobj.style.backgroundColor = ''
            tipobj.style.width = ''
        }
    }

    document.onmousemove = positiontip
    
/***********************************************************/
/********** Tooltip display on Tab *************************/
/***********************************************************/


//Standard Non-Stocks
function ValidateOptionalInternalProtector(optButtId,optButtName,divId)
{
    if(optButtId == optButtName)
    {
        if (document.getElementById(clientID+divId) != null)
            document.getElementById(clientID+divId).style.visibility = "visible";	    
    }
    else
    {
        if (document.getElementById(clientID+divId) != null)
            document.getElementById(clientID+divId).style.visibility = "hidden";
    }
        
	return true;
}

function Number_KeyPressEvent()
{
	if(((event.keyCode < 48) || (event.keyCode > 57)) && (event.keyCode != 13)) 			
	{
		event.keyCode = 0;
	}
	else if(event.keyCode == 13)
	{
	    var test = clickButton(event,clientID+'btnViewPartNumber');
	    alert(test);
	}
}

function ValidateGeneratePartNumber()
{	
    document.getElementById(clientID+"hdnPrimaryVoltageIndex").value = document.getElementById(clientID+"ddlPrimaryVoltage").selectedIndex;
        
    // Primary Voltage
    if (document.getElementById(clientID+"hdnPrimaryVoltageIndex").value < 0)
	{
        if(document.getElementById(clientID+'trGeneratedPartNo')!=null)
        {
           document.getElementById(clientID+'trGeneratedPartNo').style.visibility = "hidden";
           document.getElementById(clientID+'trProceed').style.visibility = "hidden";
        }
	    alert(selectPrimaryVoltage);
	    return false;
    }
    
    //Secondary Voltage
	if (ValidateRequired("txtSecondaryVoltage", ''))
	{
	    if (!ValidateNumbers("txtSecondaryVoltage", ''))
	    {
	        if(document.getElementById(clientID+'trGeneratedPartNo')!=null)
	        {
	           document.getElementById(clientID+'trGeneratedPartNo').style.visibility = "hidden";
	           document.getElementById(clientID+'trProceed').style.visibility = "hidden";
	        }
	        alert(invalidSecondaryVoltage);	       
	        return false;
        }
	}
	else
	{
        if(document.getElementById(clientID+'trGeneratedPartNo')!=null)
        {
           document.getElementById(clientID+'trGeneratedPartNo').style.visibility = "hidden";
           document.getElementById(clientID+'trProceed').style.visibility = "hidden";
        }
	    alert(emptySecondaryVoltage);
	    return false;
    }
    
    var fromSecondaryVoltage=0;
    var toSecondaryVoltage=0;
    var enterSecondaryVoltage=0;
    
    if(document.getElementById(clientID+'txtSecondaryVoltage').value != '')
        enterSecondaryVoltage = document.getElementById(clientID+'txtSecondaryVoltage').value;
        
    if(document.getElementById(clientID+'lblFromSecondaryVoltage').innerHTML != '')
        fromSecondaryVoltage = document.getElementById(clientID+'lblFromSecondaryVoltage').innerHTML;
    
    if(document.getElementById(clientID+'lblToSecondaryVoltage').innerHTML != '')
        toSecondaryVoltage = document.getElementById(clientID+'lblToSecondaryVoltage').innerHTML;
                
    if((parseInt(enterSecondaryVoltage) >= parseInt(fromSecondaryVoltage)) && (parseInt(enterSecondaryVoltage) <= parseInt(toSecondaryVoltage)))
        return true;
    else
    {
        if(document.getElementById(clientID+'trGeneratedPartNo')!=null)
        {
           document.getElementById(clientID+'trGeneratedPartNo').style.visibility = "hidden";
           document.getElementById(clientID+'trProceed').style.visibility = "hidden";
        }
	    alert(greaterlessSecondaryVoltage + document.getElementById(clientID+'lblFromSecondaryVoltage').innerHTML + " - " + document.getElementById(clientID+'lblToSecondaryVoltage').innerHTML);
        return false;
    }
    
}

//Hide any controls action change for customize
function HideGeneratePartNo()
{
    if (document.getElementById(clientID + 'trGeneratedPartNo') != null) {
        document.getElementById(clientID + 'trGeneratedPartNo').style.visibility = "hidden";
    }
    if (document.getElementById(clientID + 'trProceed') != null) {
        document.getElementById(clientID + 'trProceed').style.visibility = "hidden";
    }
    return true;
}
